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


当前回答

实际上,许多网站使用以数字开头的id属性,尽管这在技术上是无效的HTML。

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

其他回答

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

从技术上讲,可以在id/name属性中使用冒号和句点,但我强烈建议避免两者。

在CSS(以及jQuery等几个JavaScript库)中,句点和冒号都有特殊含义,如果不小心就会遇到问题。句点是类选择器,冒号是伪选择器(例如,当鼠标悬停在元素上时,元素的“:hover”)。

如果给元素id为“my.ccool:thing”,则CSS选择器将如下所示:

#my.cool:thing { ... /* some rules */ ... }

也就是说,在CSS中,“id为‘my’的元素、‘cool’类和‘thing’伪选择器”。

任何大小写、数字、下划线和连字符都要使用A-Z。如上所述,确保您的ID是唯一的。

这应该是你最关心的问题。

此外,永远不要忘记ID是唯一的。一旦使用,ID值可能不会再次出现在文档中的任何位置。

您可能有许多ID,但所有ID都必须具有唯一的值。

另一方面,还有class元素。就像ID一样,它可以出现多次,但值可能会被反复使用。

大写和小写字母有效“_”和“-”也有效数字有效冒号(,)和句点(.)似乎有效有趣的是,表情符号起作用

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