我最近在我的HTML文档的body标签上应用了一个ID to allow greater CSS control (#9)。最近我发现我可以通过将一个类应用于body标签来完成同样的事情。我想知道每个选择的正面和负面。如果我有多个页面,其中body标签具有相同的ID,那么使用类更好吗?你怎么看?为什么呢?
更新:类/ ID基本上是我打算用来向样式表标识应用样式表的页面或页面类型。例如,它是主页,联系页面,许多搜索结果页面之一,存档页面等?
答案 0 :(得分:20)
使用类是完全可以接受的,可能比使用id更重要。应尽可能限制使用ID,因为它们可能会与其他ID冲突并破坏document.getElementById
之类的内容。
id选择器比类选择器更具体,这通常使它成为用例的更好选择。 - David Dorward
然而,并不总是需要高“特异性”。在主样式表中考虑body#faq #col_b a {color:gray;}
,然后有人开发了一个灰色背景的插件,该插件位于常见问题页面上,现在他们需要使用!important
或创建另一个id属性以提供更高的特异性。
另外,考虑在单个body元素中使用多个类:
<body class="faq two_column big_footer"> ...
答案 1 :(得分:4)
id选择器比类选择器更specific,这通常使它成为用例的更好选择。
答案 2 :(得分:2)
每页的ID必须是唯一的(如果你想要有效的标记),这意味着页面上只应存在一个特定ID的实例。
另一方面,类可以应用于每页的众多元素。使用类来重用相同的样式,并使用ID来获得需要自己样式的更多独特元素。
理想情况下,尽可能使用类并限制ID的使用。
答案 3 :(得分:1)
如果您计划在页面中重复使用样式,最好使用类。如果样式表是为特定页面设计的,则ID很好。但仍取决于您的应用程序。
答案 4 :(得分:0)
你可以(读:应该)只使用body标签上的id。
ID =每页一次使用
Class =多次使用
1 Body标签= 1个id标签。这在不同的页面上可以是相同的。从本质上讲,使用class标签可能是一种过度杀伤力。
答案 5 :(得分:0)
在HTML5中,id属性可用于任何HTML元素(它将在任何HTML元素上验证。但是,它不一定有用)。
在HTML 4.01中,id属性不能与:<base>, <head>, <html>, <meta>, <param>, <script>, <style>, and <title>.
注意:HTML 4.01对id值的内容有更大的限制(例如,在HTML 4.01中,id值不能以数字开头)。
来源:W3School