全局属性 | Global attributes
Global attributes
全局属性是所有HTML元素共有的属性; 它们可以用于所有元素,尽管属性可能对某些元素没有影响。
HTML5 规范规定全局属性可以用在所有的HTML element上,甚至HTML5没有规范的element。这意味着任何非标准的element也可以使用这些属性,甚至在HTML5不兼容的文档类型下这些element的使用方式也可以用。
除了基本的HTML全局属性之外,还存在以下全局属性:
xml:lang
和xml:base
- 这些是从XHTML规范继承而来的,因兼容性的原因而保留。
- 多个
aria-*
属性,用于改善可访问性。
- 事件处理程序属性:
onabort
,onautocomplete
,onautocompleteerror
,onblur
,oncancel
,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
.
描述
accesskey
为生成当前元素的键盘快捷键提供提示。该属性由空格分隔的字符列表组成。浏览器应该使用计算机键盘布局上存在的第一个。class
是元素类的空格分隔列表。类允许CSS和JavaScript通过类选择器或函数(如方法)选择和访问特定的元素Document.getElementsByClassName()
。contenteditable
是一个枚举属性,指示该元素是否应该由用户编辑。如果是这样,浏览器修改它的小部件以允许编辑。该属性必须采用以下值之一:
true
或空字符串
,表示该元素必须是可编辑的;
false
,这表明该元素不能被编辑。
contextmenu是一个<menu>的id,用作这个元素的上下文菜单。data-*形成一类称为自定义数据属性的属性,允许专有信息在HTML及其脚本可能使用的DOM表示之间进行交换。所有这些自定义数据都可以通过HTMLElement设置属性的元素的接口来使用。该HTMLElement.dataset属性可以访问它们。dir是一个枚举属性,指示元素文本的方向性。它可以有以下值:
ltr
,这意味着从左到右,用于从左到右
书写的语言(如英语);
rtl
,意思是从右到左
写的语言(如阿拉伯语);
auto
,让用户代理决定。它使用一种基本的算法来解析元素内部的字符,直到找到一个具有强方向性的字符,然后将这个方向性应用于整个元素。
draggable
是一个枚举属性,用于指示是否可以使用拖放API拖动该元素。它可以有以下值:
true
,表示该元素可能被移动
false
,表示该元素不能被移动。
dropzone
是一个枚举属性,用于指示可以使用拖放API在元素上放置哪些类型的内容。它可以有以下值:
copy
,这表示删除将创建被移动的元素的副本
move
,这表明被拖动的元素将被移动到这个新的位置。
link
,将创建一个链接到拖动的数据。
hidden
是一个布尔属性表示该元素还不存在,或不再是相关的
。例如,它可用于隐藏无法使用的页面元素,直到登录过程完成。浏览器不会呈现这样的元素。此属性不得用于隐藏可能合法显示的内容。id
定义一个唯一的标识符(ID),在整个文档中必须是唯一的。其目的是在链接(使用片段标识符),脚本或样式(使用CSS)时标识元素。
注意:
以下5个属性是WHATWG HTML Microdata功能的一部分。
itemid
项目的唯一全局标识符。
true
,表示该元素应尽可能检查拼写错误;
false
,这表明该元素不应检查拼写错误。
style包含要应用于元素的CSS样式声明。请注意,建议在单独的文件或文件中定义样式。这个属性和<style>元素的主要目的是允许快速的样式,例如用于测试目的。tabindex是一个整数属性,指示元素是否可以输入焦点(可聚焦),是否应该参与顺序键盘导航,如果是,则在什么位置。它可能需要几个值:
- 一个
负值
意味着元素应该是可聚焦的,但不应该是通过顺序键盘导航可达;
0
意味着该元素应该可以通过顺序键盘导航来获得焦点和可达性,但是其相对顺序是由平台惯例来定义的;
- 这意味着应该可以通过顺序的键盘导航进行对焦和可达的
正值
。其相对顺序由属性的值定义:顺序跟随tabindex
的增加数量。如果多个元素共享相同的tabindex
,则它们的相对顺序将遵循它们在文档中的相对位置)。
title
包含表示与其所属元素相关的咨询信息的文本。这样的信息通常可以但不一定作为工具提示呈现给用户。translate
是一个枚举属性,用于指定Text
在页面本地化时是否翻译元素的属性值及其子节点值,还是使其保持不变。它可以有以下值:
- 空字符串和
"yes"
,表示该元素将被翻译。
"no
“,表示该元素不会被翻译。
规范
规范 | 状态 | 评论 |
---|---|---|
HTML生活标准该规范中'全球属性'的定义。 | 生活水平 | 从最新的快照中,添加了HTML 5.1,itemid,itemprop,itemref,itemscope和itemtype。 |
HTML 5.1该规范中'全局属性'的定义。 | 建议 | HTML生活标准快照。从HTML5开始,拼写检查,可拖动和拖放区已被添加。 |
HTML5该规范中的'全局属性'的定义。 | 建议 | HTML生活标准快照。从HTML 4.01规范中,引入了全局属性的概念,并且目录,lang,style,id,class,tabindex,accesskey和title现在是真正的全局属性。xml:lang最初是XHTML的一部分,现在也是HTML的一部分。隐藏的,数据*,contextmenu,contenteditable和翻译已被添加。 |
HTML 4.01规范 | 建议 | 没有定义全局属性。将在后续规范中成为全局属性的若干属性定义在元素的子集上。除了<base>,<basefont>,<head>,<html>,<meta>,<param>,<script>,<style>和<title>以外,类和样式都受支持。所有元素都支持dir,但<applet>,<base>,<basefont>,<bdo>,<br>,<frame>,<frameset>,<iframe>,<param>和<script>。所有元素都支持id,但是<base>,<head>,<html>,<meta>,<script>,<style>和<title>。除<applet>,<base>,<basefont>,<br>,<frame>,<frameset>,<iframe>,<param>和< SCRIPT>。tabindex仅支持<a>,<area>,<button>,<object>,<select>和<textarea>。accesskey仅支持<a>,<area>,<button>,<input>,<label>,<legend>和<textarea>。除<base>,<basefont>,<head>,<html>,<meta>,<param>,<script>和<title>外,所有元素都支持title。 |
浏览器兼容性
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
accesskey | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
class | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
contenteditable | (Yes) | 3.0 (1.9) | (Yes) | (Yes) | (Yes) |
contextmenu | No support | 9 (9) | No support | No support | No support |
data-* | (Yes) | 6 (6) | (Yes) | (Yes) | (Yes) |
dir | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
draggable | (Yes) | 2.0 (1.8.1) | (Yes) | (Yes) | (Yes) |
dropzone | ? | No support | ? | ? | ? |
hidden | (Yes) | 4.0 (2) | (Yes) | (Yes) | (Yes) |
id | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
itemid, itemprop, itemref, itemscope, itemtype | ? | (Yes) | ? | ? | ? |
lang | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
spellcheck | (Yes) | 2.0 (1.8.1) | (Yes) | (Yes) | (Yes) |
style | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
tabindex | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
title | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
accesskey | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
class | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
contenteditable | (Yes) | (Yes) | 1.0 (1.9) | (Yes) | (Yes) | ? |
contextmenu | No support | No support | No support | No support | No support | No support |
data-* | (Yes) | (Yes) | 6.0 (6) | (Yes) | (Yes) | ? |
dir | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | ? |
draggable | (Yes) | (Yes) | 1.0 (1.8.1) | (Yes) | (Yes) | ? |
dropzone | ? | ? | No support | ? | ? | ? |
hidden | (Yes) | (Yes) | 4.0 (2) | (Yes) | (Yes) | (Yes) |
id | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
itemid, itemprop, itemref, itemscope, itemtype | ? | ? | (Yes) | ? | ? | ? |
lang | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
spellcheck | (Yes) | (Yes) | 1.0 (1.8.1) | (Yes) | (Yes) | ? |
style | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
tabindex | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
title | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |