HTML5与CSS3权威指南(第2版·上册)
上QQ阅读APP看书,第一时间看更新

2.3 新增的属性和废除的属性

在HTML 5中,在增加和废除了很多元素的同时,也增加和废除了很多属性,本节对于这些增加和废除的属性进行简单介绍其他资料介绍的新增属性可能会比下面要介绍得多,这是因为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页面执行某些操作。

2.3.2 废除的属性

HTML 4中的一些属性在HTML 5中不再被使用,而是采用其他属性或其他方案进行替代,具体如表2-1所示。

表2-1 在HTML 5中被废除了的属性

(续)