HTML 5新特性和HTML4对比

本文介绍了HTML5的主要新特性,包括简化字符编码指定方式、可省略标记元素、布尔值属性处理、引号省略规范等内容。同时,还列举了HTML5新增与废除的元素及属性,并对表单、链接和其他新增属性进行了详细说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 HTML 5 特性

1.1 指定字符编码

在 HTML4 中使用以下方式指定文件中的字符编码 :

" data-snippet-id="ext.8e8c1e6d42aa1631b7dc7212889d959b" data-snippet-saved="false" data-codota-status="done">  <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">

在 HTML5 中,使用以下方式:

  <mate charset="UTF-8">

以下代码,在 HTML5 中被认为是错误的:

" data-snippet-id="ext.f318bf834aba75c19d01b837f5203755" data-snippet-saved="false" data-codota-status="done"><meta charset="UTF-8" http-equiv="Content-Type" content="text/html;charset=UTF-8">

1.2 可以省略的标记元素

在HTML5中,元素的标记可以省略。具体说,元素的标记分为不允许写结束标记、可以省略结束标记和开始标记和结束标记全部可以省略三种类型。 
  • 不允许写结束标记的元素:area、base、br、col、command、embed、hr、img、input、keygen、link、meta、param、source、track、wbr。
  • 可以省略结束标记的元素:li、dt、dd、p、rt、rp、optgroup、option、colgroup、thead、tbody、tfoot、tr、td、th。
  • 可以省略全部标记的元素:html、head、body、colgroup、tbody。

    不允许写结束标记的元素:只允许使用 “<元素 />” 的形式进行书写,例如 br。
    可以省略全部标记的元素:该元素可以完全被省略,即使省略了,该元素还是以隐式的方式存在。

1.3 具有 boolean 值的属性

具有boolean的属性,例如disabledchecked

  • 只写属性名不写属性值代表属性为true
    <input type="checkbox" checked>
  • 不写属性名,代表属性值为false
    <input type="checkbox">
  • 属性名 = 属性值,代表属性为true
    <input type="checkbox" checked="checked">
  • 属性名 = 空字符串,代表属性为true
    <input type="checkbox" checked="">

1.4 省略引号

当属性值不包括空字符串、<、>、=、单引号、双引号等字符时,属性两边的引号可以省略。

2 HTML5 新增和废除的元素

2.1 新增的元素

元素说明
section 表示页面中的一个内容区块,比如章节,页眉
article 表示页面中一块与上下文无关的独立内容,例如博客中的文章、报纸中的文章
aside 代表article元素的内容之外,与article元素的内容相关的辅助信息
header 表示页面中一个内容区块或整个页面的标题
hgroup 用于对整个页面或页面中一个内容区块的标题进行组合
footer 表示整个页面或页面中一块内容区域的脚注
nav 表示页面中导航链接的部分
figure 表示一段独立的流内容,一般表示文档主题流内容中的一个独立单元。使用figcaptionfigure元素组添加标题
video 定义视频
audio 定义音频
embed 插入多媒体
mark 在视觉上向用户呈现那些需要突出显示或高亮显示的文字,典型应用就是在搜索结果中高亮显示搜索关键词
progress 表示运行中的进程
time 表示时间或日期
ruby 表示 ruby 注释
rt 表示字符的解释或发音
rpruby注释中使用、以定义不支持ruby元素的浏览器所显示的内容
wbr 软换行元素,当宽度不够显示时才换行
canvas 提供一块画布,以供 JavaScript 绘制
command 表示命令按钮,例如单选按钮、复选按钮
detailssummary配合使用,summary提供标题或图例,标题是可见的,用户点击标题时,会显示出细节信息,summary元素应该是details元素的第一个子元素
datalist 表示可选数据的列表,与input元素配合使用,可以制作出输入框的下拉列表
datagrid 可选数据的列表,以树形列表的形式来显示
keygen 表示生成密钥
output 表示不同类型的输出,比如脚本的输出
source 为媒介元素定义媒介资源
menu 表示菜单列表,当希望列出表单控件时使用该标签

2.2 新增 input 元素的类型

类型说明
email 表示必须输入 E-mail 地址的文本输入框
url 必须输入 URL 地址的文本输入框
number 必须输入数值的文本输入框
range 必须输入一定范围内数字值的文本输入框
date 选取年、月、日
month 选取年、月
week 选取周、年
time 选取时间
datetime 选取时间、日、月、年 (UTC 时间)
datetime-local 同上, 本地时间

2.3 废除的元素

2.3.1 使用 CSS 替代的元素

basefontbigcenterfontsstrikettu

2.3.2 不再使用 frame 框架

由于 frame 框架对于网页可用性存在负面影响,因此废除了framesetframenoframes元素,只支持iframe框架

2.3.3 只有部分浏览器支持的元素

appletbgsoundblinkmarquee等元素只有部分浏览器支持,在 HTML5 中被废除。

废弃的元素代替的元素
appletembed 或 object
bgsoundaudio
rbruby
acronymabbr
dirul
isindexform 与 input 结合的方式
listingpre
xmpcode
nextidGUIDS
plaintext 使用”text/plian” MIME 类型替代

3 新增和废除的属性

3.1 新增的属性

3.1.1 表单相关的属性
属性使用范围说明
autofocusinput(type=text)、select、textarea、button 让元素在画面打开时自动获取焦点
placeholderinput、textarea 对用户输入进行提示
forminput、output、select、textarea、button、fieldset 生命它属于哪一个表单,可以将其放置在页面任何位置上,而不是表单内
requiredinput(type=text)、textarea 在用户提交时进行检查,检查该元素内一定要有输入内容
autocompleteinput、datalist
mininput
multipleinput 允许上传文件时,一次上传多个文件
patterninput
stepinput
formaction、formenctype、formmethod、formnovalidate、formtargetinput、button 重载 form 元素的 action、enctype、method、novalidate、target 属性
disabledfieldset 把子元素设为无效状态
novalidateinput、button 取消提交时进行的有关检查
3.1.2 链接相关属性
属性使用范围说明
mediaa、area 规定目标 URL 是为什么类型的媒介 / 设备进行优化的,只能在 href 属性存在时使用
hreflang、relarea 与 a 元素和 link 元素保持一致
sizeslink 与 icon 元素结合使用,该属性指定关联图片的大小
targetbase 保持与 a 元素的一致性
3.1.3 其他属性
属性使用范围说明
reversedol 指定列表倒序显示
charsetmeta 指定文档的字符编码
labelmenu 为菜单定义一个可见的标注
typemenu 可以让菜单可以以上下文菜单、工具条、与列表菜单的三种形式出现
scopedstyle 规定样式的作用范围,譬如只对页面上的某个树起作用
asyncscript 定义脚本是否异步执行
manifesthtml 开始离线 web 应用程序时与 API 结合使用,定义一个 URL,在这个 URL 上描述文档的缓存信息
sandbox、seamless、srcdociframe 提供页面安全性

3.2 废除的属性

HTML4 中的元素使用该属性的元素在 HTML5中的替代方案
revlink、arel
charsetlink 、a 在被链接的资源中使用 HTTP Content-type 头元素
shape、coordsa 使用 area 元素代替 a
longdeseimg、iframe 使用 a 元素链接到较长描述
targetlink 多余属性,被省略
nohrefarea 多余属性,被省略
profilehead 多余属性,被省略
versionhtml 多余属性,被省略
nameimgid
schememeta 只为某个表单域使用 scheme
archive、classid、codebase、codetype、declare、standbyobject 使用 data 与 type 属性类调用插件,需要使用这些属性来设置参数时,使用 param 属性
valuetype、typeparam 使用 name 与 value 属性,不声明值的 MIME 类型
axis、abbrtd、th 使用以明确简洁的文字开头、后跟详述文字的形式。可以对更详细的内容使用 title 属性、来使单元格的内容变得简短
scopetd 在被链接的资源中使用 HTTP Content-type 头元素
aligncaption、input、legend、div、h1、h2、h3、h4、h5、h6、p 使用 CSS 样式代替
alink、link、text、vlink、backgroud、bacolorbody 使用 CSS 样式代替
align、bgcolor、border、cellpadding、cellspacing、frame、rules、widthtable 使用 CSS 样式代替
align、char、charoff、height、nowrap、valigntbody、thead、tfoot 使用 CSS 样式表替代
align、bgcolor、char、charoff、height、nowrap、valign、widthth、td 使用 CSS 样式表替代
align、bgcolor、char、charoff、valigntr 使用 CSS 样式表替代
align、char、charoff、valign、widthcol、colgroup 使用 CSS 样式表代替
align、border、hspace、vspaceobject 使用 CSS 样式表代替
clearbr 使用 CSS 样式表代替
compact、typeol、ul、li 使用 CSS 样式表代替
compactdl 使用 CSS 样式表代替
compactmenu 使用 CSS 样式表代替
widthpre 使用 CSS 样式表代替
align、hspace、vspaceimg 使用 CSS 样式表代替
align、noshade、size、widthhr 使用 CSS 样式表代替
align、frameborder、scrolling、marginheight、marginwidthiframe 使用 CSS 样式表代替
autosubmitmenu

3.3 全局属性

3.3.1 contentEditable 属性
  • 允许用户编辑元素中的内容,所以该元素是可以获得鼠标焦点的元素
  • 值为truefalse
  • 该属性具有inherit状态,当没有指定值时,继承父元素的值。
  • 支持的元素有

defaults、a、abbr、acronym、address、b、bdo、big、blockquote、body、button、center、city、code、custom、dd、del、dfn、dir、div、dl、dt、em、fieldset、font、form、hn、i、inpt (type=button、password、radio、reset、submit、text)、ins、isindex、kbd、label

3.3.2 designMode 属性
  • 用来指定整个页面是否可编辑
  • 值为onoff
  • 只能通过document.designMode='on'的方式修改。
3.3.3 hidden 属性

通知浏览器不再渲染该元素,使其处于不可见状态。

3.3.4 spellcheck 属性
  • 针对input(type=text)textarea提供的元素用于对用户的文本内容进行拼写和语法检查。
  • 值为truefalse
  • 必须明确声明值属性值。不可以只写属性名
  • readOnlydisabled设为true时,不进行拼写检查
3.3.5 tabindex属性
  • 定义获得焦点的顺序。
  • 当值为负数时,不可以通过Tab键获取焦点,但依然可以通过编程的方式获取焦点。

欢迎大家访问我的博客,转载请注明出处
http://blog.youkuaiyun.com/abyss521

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值