什么时候可以使用Id进行样式设计?

时间:2012-04-19 19:38:35

标签: html css

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

#food .horizontal-list {

}

#food .horizontal-list li {

}

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

#food {
    /* loads of attributes */
}

有人可以解释何时可以使用id?

5 个答案:

答案 0 :(得分:6)

我认为从CSS Lint is harmful

这篇文章中已经说得很清楚
  

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

     

关于“选择者特异性”的争论充其量只是一个延伸   证明一个坏的规则。正确地编写你的CSS,你不会陷入困境   任何特异性陷阱。我可以指望我的手数   在为CSS编写CSS和HTML的6年中,这对我来说是一个问题   生活在各种不同类型和规模的网站上。

     

这条规则唯一可以被称为准确的是你正在使用   ID用于设计特定的HTML块,以便允许其使用   在网站的任何地方。例如,如果您使用它来设置HTML图库的样式   用户可以通过其CMS在任何页面上包含的小部件。他们可能会   在页面上指定多个。但是,这是唯一的一次   这是一个问题。

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

用于CSS样式的ID和类都非常好。

  • 对唯一元素使用 ID 。换句话说,每个ID不应多次使用。
  • 使用进行元素的分类和标记。更多详情:Best Practices for HTML/CSS

答案 4 :(得分:0)

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

  

如果符合以下条件,请使用类标记:

     
      
  1. 该样式用于整个文档的各个位置。
  2.   
  3. 风格很一般。
  4.         

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

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

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

http://css-tricks.com/the-difference-between-id-and-class/

有更长的解释