【发布时间】:2015-06-15 22:17:48
【问题描述】:
[class$=" "]
[class*=" "]
[class^=" "]
以上所有内容(以及 ID 等效项)似乎都不遵循标准 CSS 特异性权重规则。
我制作了一个 Codepen 来展示它们是多么奇怪和矛盾。 http://codepen.io/mildrenben/pen/myYLmG
标记
<div id="wrap">
<div class="container">
<p> #idName is more specific than [id*="idName"]. But .className and [class*="className"] seem to be the same specificty.</p>
</div>
</div>
CSS
#wrap {
border: solid 5px green;
}
[id*="wrap"] {
border: solid 5px red;
}
.container {
background: red;
}
[class*="container"] {
background: yellow;
}
p {
font-family: sans-serif;
padding: 6px;
}
谁能澄清这些选择器所具有的特异性权重?
谢谢
【问题讨论】:
-
specificity.keegan.st 的特异性计算器似乎表明它们与类的权重相同,我猜它们可以作为 pseudo-classes
-
@Liam — 它们是属性选择器。伪类类似于
:hover。 -
谢谢@Quentin,我不确定
标签: html css css-selectors css-specificity