2

我经常听到我不应该id在 HTML 元素上使用属性来在 CSS 中进行样式设置。然而,情况总是如此吗?假设您的应用程序 ( ul) 中有多个列表,它们都有一个类horizontal-list。但是,您想为每个应用一些独特的样式,ul然后您可以添加id并像这样使用它吗?

#food .horizontal-list {

}

#food .horizontal-list li {

}

在这里,您仅使用它来分隔元素。或者您是否应该为每个唯一列表创建一个类。“不要id's用于样式目的”是否仅在您这样使用时才适用?

#food {
    /* loads of attributes */
}

有人可以解释什么时候可以使用 id 吗?

4

5 回答 5

7

我认为这篇文章CSS Lint 中的表述很好是有害的

ID 非常有用,您绝对应该使用它们。它们是浏览器选择给定元素的最快方式。它们对于页内锚定很有用,如果它们已经存在于标记中,则将它们用作样式挂钩。奇怪的是,只要它们在任何给定页面上只是该 ID 的一个实例,它们就可以完全正确地使用。

关于“选择器特异性”的论点充其量只是为一个糟糕的规则辩护。正确地创作你的 CSS,你就不会陷入任何特殊性陷阱。在为各种不同类型和规模的网站编写 CSS 和 HTML 为生的 6 年中,我可以数出这对我来说是个问题的次数。

只有当您使用 ID 来设置特定 HTML 块的样式以允许其在站点上的任何位置使用时,才能将此规则称为准确。例如,如果您使用它来设置 HTML 图库小部件的样式,用户可以通过他们的 CMS 将其包含在任何页面上。他们可以在一页上指定多个。但是,这是唯一一次也是唯一一次令人担忧的事情。

您在示例中使用它的方式是正确的,可以在您的 css 中多次声明它,您只是不想id在元素上使用多次。

于 2012-04-19T19:48:46.623 回答
1

ID 和类都非常适合用于 CSS 样式。

  • 对唯一元素使用ID。换句话说,每个 ID 不应该被多次使用。
  • 使用对元素进行分类和标记。更多细节:HTML/CSS 的最佳实践
于 2012-04-19T19:45:41.130 回答
1

来自http://webdesign.about.com/cs/css/qt/tipcssclassvsid.htm

在以下情况下使用类标签:

  1. 该样式在整个文档的各个地方都使用过。
  2. 风格很一般。

在以下情况下使用 id 标签:

  1. 该样式仅在文档中使用一次。
  2. 样式特定于文档的某个区域。

请记住,一个 id 在任何 HTML 文档中只能出现一次。一旦您使用了该 ID,就不应在该页面上再次使用它。

http://css-tricks.com/the-difference-between-id-and-class/有更长的解释

于 2012-04-19T19:50:36.167 回答
0

你应该有一个基本布局的基类和其他类来对其进行额外的更改。只有在需要引用元素时才应使用 id,例如用于 ajax 请求或表单。使用多个类没有问题,并且使更改更容易。

还要记住:使用 id 两次会导致无效标记。

于 2012-04-19T19:41:46.437 回答
0

id 用于设置特定元素的样式,例如您的示例。它非常适合在您只需要将样式限制为特定元素的情况下使用 ID

于 2012-04-19T19:42:40.923 回答