"不要在选择器(CSS)中使用ID"那么,使用什么而不是ID?

时间:2018-02-14 21:09:28

标签: css stylesheet csslint

CSS lint rules中的一个是:"最好不要在选择器中使用ID"。 那么,我们应该使用什么而不是ID来指向一个独特的元素? 例如,我有数百个元素,它们有一个名为" myClass"的类,我希望其中一个元素分别具有一个特殊的CSS属性。我该怎么办?

4 个答案:

答案 0 :(得分:3)

给他们另一个课,例如:

jwks_raw = Net::HTTP.get URI("https://#{Rails.application.secrets.auth0_domain}/.well-known/jwks.json")

答案 1 :(得分:2)

CSS-lint应该被“修复”或更新为现代标准,因为它基于已有10多年历史的代码库,在该代码库中仍支持IE6和IE7。

如今,每个人都应该知道ID是最快的CSS选择器,其次是Classs,Dom标签,相邻的兄弟姐妹等。而且CSS从右到左读取。因此,最短的选择器是最快的。由于#ID是最快的选择器,并且#ID(应该是)唯一,因此嘲笑它不将#id用作CSS中的选择器。

答案 2 :(得分:1)

一个好的做法是将数据属性用于唯一元素。

<div class="myClass" data-id="target"></div>
<div class="myClass"></div>
<div class="myClass" data-id="trigger"></div>
<div class="myClass"></div>

并定位你的css中的那些:

.myClass[data-id="target"] {
  color: tomato;
}

.myClass[data-id="trigger"] {
  color: mediumslateblue;
}

答案 3 :(得分:1)

您可以为元素添加一个额外的类,并在css中指定它而不是id。 ID选择器具有比属性选择器更高的特异性,但不建议在css中使用id,并且不能重用。 CSS类可以做任何ID都可以。