html中不同的属性支持略有区别。所谓的通用属性即全局属性,是所有元素都支持的一些属性,mdn里解释如下
全局属性是所有HTML元素共有的属性; 它们可以用于所有元素,即使属性可能对某些元素不起作用。
我们可以在所有的HTML元素上指定全局属性,甚至是在标准里没有指定的元素。这意味着任何非标准元素仍必须能够应用这些属性,即使使用这些元素意味着文档不再是html5兼容的。例如,虽然<foo>不是一个有效的HTML元素,但是html5兼容的浏览器隐藏了标记为<foo hidden>...<foo>的内容。
除了基本的HTML全局属性之外,还存在以下全局属性:
- xml:lang 和 xml:base ——两者都是从XHTML规范继承,但为了兼容性而被保留的。
- 多重aria-*属性,用于改善可访问性。
- 事件处理程序属性:onabort, onautocomplete, onautocompleteerror, onblur, oncance, oncanplay, oncanplaythrough, onchange, onclick, onclose, oncontextmenu, oncuechange, ondblclick, ondrag, ondragend, ondragenter, ondragexit, ondragleave, ondragover, ondragstart, ondrop, ondurationchange, onemptied, onended, onerror, onfocus, oninput, oninvalid, onkeydown, onkeypress, onkeyup, onload, onloadeddata, onloadedmetadata, onloadstart, onmousedown, onmouseenter, onmouseleave, onmousemove, onmouseout, onmouseover, onmouseup, onmousewheel, onpause, onplay, onplaying, onprogress, onratechange, onreset, onresize, onscroll, onseeked, onseeking, onselect, onshow, onsort, onstalled, onsubmit, onsuspend, ontimeupdate, ontoggle, onvolumechange, onwaiting.
H5保留的常用全局属性
- id:指定元素唯一标识。
- style:为元素指定样式。
- class:用于匹配css样式选择器。
- dir:指定文字内容方向。ltr、rtl
- title:指定元素额外信息,一般鼠标移上去会显示。
- lang:告诉浏览器或搜索引擎,标签内所使用的的语言。en ja ch
- accesskey:指定键盘按键,可使得元素快速获取焦点。
- tabindex:切换焦点顺序。
HTML新增的全局属性
- contentEditable:boolean是否可直接编辑html里的内容。HTMLElement接口提供了isContentEditable属性。
- hidden:boolean隐藏即相当于display:none.很有用!
- spellcheck:是否对用户输入的内容进行文本检查。
- autocapitalize:控制用户的文本输入是否和如何自动大写,它可以有以下的值:
- off or none,没有应用自动大写(所有字母都默认为小写字母)。
- on or sentences,每个句子的第一个字母默认为大写字母;所有其他字母都默认为小写字母。
- words,每个单词的第一个字母默认为大写字母;所有其他字母都默认为小写字母。
- characters,所有的字母都应该默认为大写。
- contextmenu:右键菜单,暂无支持。
- data-*:一类自定义数据属性,它赋予我们在所有 HTML 元素上嵌入自定义数据属性和与脚本交换数据的能力,HTMLElement.dataset.* 可以访问读写它们。
- draggable:boolean指示是否可以 使用 H5新增的拖放API 拖动元素
- is:允许您指定标准HTML元素应该像已注册的自定义内置元素一样。框架和HTML组件会用到。