什么是HTML中的id属性的有效值?


9 Answers

HTML 4规范

ID和名称标记必须以字母([A-Za-z])开头,后面可以跟随任意数量的字母,数字([0-9]),连字符(“ - ”),下划线(“_”) ,冒号(“:”)和句点(“。”)。

一个常见的错误是使用以数字开头的ID。

Question

为HTML元素创建id属性时,该值有哪些规则?




任何字母数字值和“ - ”和“ _ ”都是有效的。 但是,您应该使用AZaz之间的任何字符来启动id名称




字母 - >帽子和小
数字 - > 0-9
特殊字符 - >':',' - ','_','。'

格式应该从'。'开始。 或字母表,然后是更多字母或数字的特殊字符。 id字段的值不能以'_'结尾。
而且,空格不允许(如果提供),它们被视为不同的值,这对id属性无效。




HTML5:

摆脱在这里看到的id属性的额外限制。 唯一的要求(除了在文件中是独一无二的)是:

  1. 该值必须包含至少一个字符(不能为空)
  2. 它不能包含任何空格字符。

PRE-HTML5:

ID应该匹配:

[A-Za-z][-A-Za-z0-9_:.]*
  1. 必须以AZ或az字符开头
  2. 可能包含- (连字符), _ (下划线), :冒号)和. (期)

但应该避免:. 东阳:

例如,ID可以被标记为“ab:c”并且在样式表中被引用为#ab:c,但是也可以是该元素的id,它可以表示id“a”,类“b”选择器“c”。 最好避免混淆,远离使用。 和:一起。




从HTML 4规范...

ID和名称标记必须以字母([A-Za-z])开头,后面可以跟随任意数量的字母,数字([0-9]),连字符(“ - ”),下划线(“_”) ,冒号(“:”)和句点(“。”)。

编辑:德哦! 再次击败按钮!




看起来,虽然冒号(:)和句点(。)在HTML规范中是有效的,但它们作为CSS id选择符是无效的,因此如果打算将它们用于该目的,可能最好避免使用它们。




在实践中,许多网站使用以数字开头的id属性,即使这在技术上无效HTML。

HTML 5草案规范放宽了idname属性的规则:它们现在只是不透明的字符串,不能包含空格。







HTML5

请记住,ID必须是唯一的,即。 文档中不能有多个元素具有相同的id值。

有关HTML5中ID内容的规则(除了独特之外):

This attribute's value must not contain white spaces. [...] 
Though this restriction has been lifted in HTML 5, 
an ID should start with a letter for compatibility.

这是有关ID(来自MDN)的W3规范:

Any string, with the following restrictions:
must be at least one character long
must not contain any space characters
Previous versions of HTML placed greater restrictions on the content of ID values 
(for example, they did not permit ID values to begin with a number).

更多信息:

  • W3 - 全局属性( id
  • MDN atribute( id



  1. ID最适合命名布局的各个部分,因此不应为ID和类提供相同的名称
  2. ID允许使用字母数字和特殊字符
  3. 但避免使用# : . * ! # : . * ! 符号
  4. 不允许有空格
  5. 不是以数字或连字符后跟数字开始
  6. 区分大小写
  7. 使用ID选择器比使用类选择器更快
  8. 对于较长的CSS类或Id规则名使用连字符“ - ”(下划线“_”也可以使用,但不适用于seo)
  9. 如果规则具有ID选择器作为其关键选择器,则不要将标记名称添加到规则中。 由于ID是唯一的,因此添加标签名称会不必要地减慢匹配过程。
  10. 在HTML5中,id属性可用于任何HTML元素,而在HTML 4.01中,id属性不能用于: <base>, <head>, <html>, <meta>, <param>, <script>, <style>, and <title>.





Related



Tags

html html