虽然我不需要说服id
选择器应该谨慎使用,并且class
选择器应该主要用于应用CSS,但我很难向会员解释它我的小组项目。当我们作为一个小组开会讨论每个人的HTML和CSS文件时,我注意到他们几乎用所有的id
选择器(包括那些不是唯一的元素)。虽然我解释说id
选择器应仅用于在CSS中设置非常独特的元素,class
选择器应该用于将CSS应用于其他所有内容,因为它们可以重复使用,现在我可以使用试图记住其他原因。所以我的问题是,对于非唯一元素,使用class
选择器而非id
选择器的其他原因是什么?
答案 0 :(得分:1)
正如你所提到的,id
s的唯一性是不足以将它们用作选择器的原因,但还有更多:
一个元素可以有多个class
es,但只有一个id
。您可能希望同一元素同时为.news-article
和.breaking-news
。如果您使用JavaScript,则可以为样式(.unstyled-list
)创建一个类,为脚本创建另一个类(.side-menu
)。这样,您可以在不破坏脚本的情况下将列表更改为.roman-numerals
。
使id
更适合应用样式的原因是它们的唯一性和更高的specificity的组合。如果你使用id
来设置样式,肯定会陷入特殊竞争(特别是如果你需要随着时间的推移维护CSS,可能就是这种情况)。