正文标记上的类或ID

时间:2010-10-12 22:08:00

标签: html css markup semantics

我最近在我的HTML文档的body标签上应用了一个ID to allow greater CSS control (#9)。最近我发现我可以通过将一个类应用于body标签来完成同样的事情。我想知道每个选择的正面和负面。如果我有多个页面,其中body标签具有相同的ID,那么使用类更好吗?你怎么看?为什么呢?

更新:类/ ID基本上是我打算用来向样式表标识应用样式表的页面或页面类型。例如,它是主页,联系页面,许多搜索结果页面之一,存档页面等?

6 个答案:

答案 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的使用。

有关ID的更多信息,请参阅here以及有关课程的更多信息,请参阅here

答案 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