1、全局属性
所谓全局属性,是指可以对任何元素都使用的属性;
(1)contentEditable属性
contentEditable属性的主要功能是允许用户编辑元素中的内容,所以该元素必须是可以获得鼠标焦点的元素,而且在点击鼠标后要向用户提供一个插入符号,提示用户该元素中的内容允许编辑。contentEditable属性是一个布尔值属性,可以被指定为true或false。
除此之外,该属性还有一个隐藏inherit(继承)状态,属性为true时,元素被指定为允许编辑;属性为false时,元素被指定为不允许编辑;未指定true或false时,则由inherit状态来决定,如果元素的父元素是可编辑的,则该元素就是可编辑的;
另外,除了contentEditable属性外,元素还具有一个isContentEditable属性,当元素可编辑时,该属性为true;当元素不可编辑时,该属性为false;
contentEditable属性示例(加上contentEditable属性之后该元素就变成可编辑的了)
<!DOCTYPE html>
<head>
<meta charset="UTF-8">
<title>contentEditable属性示例</title>
</head>
<h2>可编辑列表</h2>
<ul contentEditable="true">
<li>列表元素1</li>
<li>列表元素2</li>
<li>列表元素3</li>
</ul>
在编辑完元素中内容之后,如果想要保存其中的内容,只能把该元素的innerHTML发送到服务器端进行保存,因为改变元素内容之后该元素的innerHTML内容也会随之改变,目前还没有特别的API来保存编辑后元素中的内容。
(2)designMode属性
designMode属性用来指定整个页面是否可编辑,当页面可编辑时,页面中任何支持上述的contentEditable属性的元素都变成了了编辑状态。designMode属性只能在javascript脚本里被编辑修改。该属性有两个值on和off。属性被指定为“on”时,页面可编辑;被指定为“off”时,页面不可编辑。使用javascript脚本来指定designMode属性的方法如下
所示:document.designMode=”on”
(3)hidden属性
在html5中所有的元素都允许使用一个hidden属性。该属性类似于input元素中的hidden元素,功能是通知浏览器不渲染元素,是该元素处于不可见状态。但是元素中的内容还是浏览器创建的,也就是说页面装载后允许使用javascript脚本将该属性取消,取消后该元素变为可见状态,同时元素中的内容也即时显示出来。hidden属性是一个布尔值,为true元素处于不可见状态;为false元素处于可见状态。
(4)spellcheck属性
spellcheck属性是html5针对input元素(type=text)与textarea这两个文本输入框提供的一个新属性,它的功能为针对用户输入的文本内容进行拼写和语法检查。spellcheck属性是一个布尔值属性,true或false;在书写时有一个特殊的地方,就是必须明确声明属性值为true或false,书写方法如下:
<textarea spellcheck="true" >
<input type=text spellchech=false >
以下写法错误:
<textarea spelcheck >
需要注意的是,如果元素的readOnly属性或disabled属性设为true,则不执行拼写检查。
(5)tabindex属性
tabindex是开发中的一个基本概念,当不断敲击Tab键让窗口或者页面中的控件或得焦点,对窗口或页面中的所有控件进行遍历的时候,每一个控件的tabindex表示该控件是第几个被访问到的。过去这个属性在编辑网页时是非常有用的,但如今控件的遍历顺序都是由元素在页面上所处的位置决定的,所以就不再需要了。但是tabindex还有另外一个作用,在默认情况下,只有链接元素与表单元素可以通过按键获得焦点。如果对其他元素使用tabindex属性后,也能让该元素获得焦点,那么当脚本中执行focus()语句的时候,就可以让该元素获得焦点了。但这样做会产生一个副作用:该元素也可以通过按Tab键获得焦点,而这有时候可能不是开发者想要的结果。把元素的tabindex值设为负数(通常为-1)后就解决这个问题了。tabindex的值为负数后,仍然可以通过编程的方式让元素获得焦点,但按下Tab键时该元素就不能获得焦点了。这在复杂的页面中或者复杂的web应用程序中是十分有用的。
2、表单相关属性
(1)可以对input(type=text)、select、textarea与button元素制定autofocus属性。它以指定属性的方式让元素在换面打开时自动获得焦点;
(2)可以对input元素(type=text)与textarea元素指定placeholder属性,它会对用户的输入进行提示,提示用户可以输入的内容;
(3)可以对input、output、select、textarea、button与fieldset指定form属性,声明它属于哪个表单,然后将其放置在页面上的任何位置,而不是表单之内;
(4)可以对input(type=text)元素与textarea元素指定required属性。该属性表示在用户提交的时候进行检查,检查该元素内一定要有输入内容;
(5)为input元素增加了几个新的属性:autocomplete、min、max、multiple、pattern与step。同时还有一个新的list元素与datalist元素配合使用。datalist元素与autocomplete属性配合用。multiple属性允许在上传文件时一次上传多个文件;
(6)为input元素与button元素增加了新的属性formaction、formenctype、formmethod、formnovalidate与formtarget、他们可以重载form元素的action、enctype、method、novalidate与terget属性。为fieldset元素增加了disable属性,可以把它的子元素设为disable(无效)状态;
(7)为input元素、button元素、form元素增加了novalidate属性,该属性可以取消提交时进行的有关检查,表单可以被无条件的提交;
(8)为所有可使用标签(label)元素的表单标签【包括非隐藏的input元素(type属性值不等于hidden)、button元素、select元素、textarea元素、meter元素、output元素、progress元素以及keygen元素】定义一个labels属性,属性值为一个NodeList对象,代表该元素所绑定的标签元素所构成的集合;
(9)可以在标签(label元素)内部放置一个表单元素,并且通过该标签的control属性来访问该表单元素;
(10)针对input元素与textarea元素在HTML5中增加SelectionDirection属性。当用户在这两个元素中用鼠标选取部分文字时,可以使用该属性来获取选取方向。当用户正向选取文字时,该属性值为“forward”;当用户反向选取文字时,该属性值为“backward”。当用户没有选去任何文字时,该属性值为“forward”;
(11)对复选框(checkbox元素)添加indeterminate属性,以说明复选框处于“尚未明确是否可选状态”;
(12)对类型为image的input元素添加用于指定图片按钮中图片高度的height属性与用于指定图片宽度的width属性;
(13)对textarea元素新增用于限定可输入文字个数的maxlength属性,与用于指定表单提交时是否在文字换行处添加换行符的wrap属性;
(14)对iframe元素新增sandbox属性,其作用是出于安全性方面的原因,对iframe元素内的内容是否允许显示,表单是否允许被提交,以及脚本是否允许被执行等方面进行一些限制;
(15)对script元素新增async属性与defer属性,用于加快页面的加载速度,是脚本代码的读取不妨碍页面上其他元素的加载;
3、链接相关的属性
(1)为a与area元素增加了media属性,该属性规定目标URL是为什么类型的媒介/设备进行优化的,只能在href属性存在时使用;
(2)为area元素增加了hreflang属性与rel属性,以保持与a元素、link元素的一致;
(3)为link元素增加了新属性sizes。该属性可以与icon元素结合使用(通过rel属性),该属性指定关联图标(icon元素)的大小;
(4)为base元素增加了target属性,主要目的是保持与a元素的一致性;
4、其他属性
(1)为ol元素增加属性reversed,它指定列表倒序显示;
(2)为meta元素增加charset属性,因为这个属性已经被广泛支持了,而且为文档的字符编码的制定提供了一种比较良好的方式;
(3)为menu元素添加了两个新的属性—type和label。label属性为菜单定义一个可见的标注,type属性让菜单可以以上下文菜单、工具条和列表菜单三种形式出现;
(4)为style元素增加scoped属性,用来规定样式的作用范围,譬如只对页面上某个树起作用。
(5) 为script元素增加async属性,它定义脚本是否异步执行;
(6)为html元素增加属性manifest,开发离线web应用程序时它与API结合使用,定义一个URL,在这个URL上描述文档的缓存信息;
(7)为iframe元素增加三个属性sandbox,seamless与srcdoc,用来提高页面安全性,防止不信任的web 页面执行某些操作;
5.废除的属性