2.3 新增的属性和废除的属性
在HTML 5中,在增加和废除了很多元素的同时,也增加和废除了很多属性,本节对于这些增加和废除的属性进行简单介绍。
2.3.1 新增的属性
1. 表单相关的属性
新增的与表单相关的元素如下:
可以对input(type=text)、select、textarea与button元素指定autofocus属性。它以指定属性的方式让元素在画面打开时自动获得焦点。
可以对input元素(type=text)与textarea元素指定placeholder属性,它会对用户的输入进行提示,提示用户可以输入的内容。
可以对input、output、select、textarea、button与fieldset指定form属性,声明它属于哪个表单,然后将其放置在页面上任何位置,而不是表单之内。
可以对input元素(type=text)与textarea元素指定required属性。该属性表示在用户提交的时候进行检查,检查该元素内一定要有输入内容。
为input元素增加了几个新的属性:autocomplete、min、max、multiple、pattern与step.同时还有一个新的list元素与datalist元素配合使用。datalist元素与autocomlete属性配合使用。multiple属性允许在上传文件时一次上传多个文件。
为input元素与button元素增加了新属性formaction、formenctype、formmethod、formnovalidate与formtarget,他们可以重载form元素的action、enctype、method、novalidate与target属性。为fieldset元素增加了disabled属性,可以把它的子元素设为disabled(无效)状态。
为input元素、button元素、form元素增加了novalidate属性,该属性可以取消提交时进行的有关检查,表单可以被无条件地提交。
为所有可使用标签(label元素)的表单元素[包括非隐藏的input元素(type属性值不等于hidden)、button元素、select元素、textarea元素、meter元素、output元素、progress元素及keygen元素]定义一个labels属性,属性值为一个NodeList对象,代表该元素所绑定的标签元素所构成的集合。
可以在标签(label元素)内部放置一个表单元素,并且通过该标签的control属性来访问该表单元素。
针对input元素与textarea元素在HTML 5中增加SelectionDirection属性。当用户在这两个元素中用鼠标选取部分文字时,可以使用该属性来获取选取方向。当用户正向选取文字时,该属性值为"forward";当用户反向选取文字时,该属性值为"backward".当用户没有选取任何文字时,该属性值为"forward".
对复选框(checkbox元素)添加indeterminate属性,以说明复选框处于"尚未明确是否选取"状态。
对类型为image的input元素添加,用于指定图片按钮中图片高度的height属性与用于指定图片宽度的width属性。
对textarea元素新增用于限定可输入文字个数的maxlength属性,与用于指定表单提交时是否在文字换行处添加换行符的wrap属性。
对iframe元素新增sandbox属性,其作用是出于安全性方面的原因,对iframe元素内的内容是否允许显示,表单是否允许被提交,以及脚本是否允许被执行等方面进行一些限制。
对script元素新增async属性与defer属性,用于加快页面的加载速度,使脚本代码的读取不再妨碍页面上其他元素的加载。
2. 链接相关属性
新增的与链接相关的属性如下:
为a与area元素增加了media属性,该属性规定目标URL是为什么类型的媒介/设备进行优化的,只能在href属性存在时使用。
为area元素增加了hreflang属性与rel属性,以保持与a元素、link元素的一致。
为link元素增加了新属性sizes.该属性可以与icon元素结合使用(通过rel属性),该属性指定关联图标(icon元素)的大小。
为base元素增加了target属性,主要目的是保持与a元素的一致性。
3. 其他属性
除了上面介绍的与表单和链接相关的属性外,HTML 5还增加了下面的属性:
为ol元素增加属性reversed,它指定列表倒序显示。
为meta元素增加charset属性,因为这个属性已经被广泛支持了,而且为文档的字符编码的指定提供了一种比较良好的方式。
为menu元素增加了两个新的属性-type与label.label属性为菜单定义一个可见的标注,type属性让菜单可以以上下文菜单、工具条与列表菜单的三种形式出现。
为style元素增加scoped属性,用来规定样式的作用范围,譬如只对页面上某个树起作用。
为script元素增加async属性,它定义脚本是否异步执行。
为html元素增加属性manifest,开发离线Web应用程序时它与API结合使用,定义一个 URL,在这个URL上描述文档的缓存信息。
为iframe元素增加三个属性sandbox、seamless与srcdoc,用来提高页面安全性,防止不信任的Web页面执行某些操作。