HTML5:ID和类属性的允许值
从HTML5开始,对ID值的唯一限制是:必须在文档中是唯一的
不得包含任何空格字符
必须包含至少一个字符
类似的规则适用于类(当然,除了唯一性)。
所以值可以是所有数字,只有一位数,只是标点字符,包括特殊字符,等等。只是没有空格。这与HTML4非常不同。
在HTML 4中,ID值必须以字母开头,然后只能使用字母,数字,连字符,下划线,冒号和句点。
在HTML5中,这些是有效的:
请记住,在ID的值中使用数字,标点符号或特殊字符可能会在其他上下文中引起麻烦(例如,CSS,JavaScript,正则表达式)。
例如,以下ID在HTML5中有效:
但是,它在CSS中无效:
从CSS2.1规范:在CSS中,标识符(包括选择器中的元素名称,类和ID)只能包含字符[a-zA-Z0-9]和ISO 10646字符U + 00A0及更高,加上连字符( - )和下划线( _); 它们不能以数字,两个连字符或连字符后跟数字开头。
在大多数情况下,您可以在具有限制或特殊含义的上下文中转义字符。
W3C参考文献
HTML5该id属性指定其元素的唯一标识符(ID)。
该值必须在元素的主子树中的所有ID中唯一,并且必须至少包含一个字符。该值不得包含任何空格字符。
注意:ID可以采取的形式没有其他限制; 特别是,ID可以只包含数字,以数字开头,以下划线开头,只包括标点符号等。
如果指定了该属性,则该属性必须具有一组空格分隔的标记,该标记表示该元素所属的各种类。
HTML元素分配给它的类包含在类空间上拆分class属性的值时返回的所有类。(忽略重复项。)
作者可以在类属性中使用的令牌没有其他限制,但鼓励作者使用描述内容性质的值,而不是描述内容所需表示的值。