我正在使用 twitter bootstrap (TB),似乎他们的 CSS 规则在他们不应该的时候优先。我创建了这个小提琴来显示问题:
http://jsfiddle.net/whoiskb/Za2TB/
HTML
<div class="teaser">
<h1 class="teaserText">Text text text <label>Label</label> Text <label>Activities</label></h1>
</div>
CSS(加上 twitter bootstrap 的外部链接)
div.teaser h1.teaserText {
font-size: 100px;
font-weight: 100;
color: black;
line-height: 90px;
font-family: "Trebuchet MS", "Arial Black", "Impact", "Arial";
text-transform: uppercase;
}
div.teaser h1.teaserText label {
color: #FCCE00;
}
根据我对特异性规则的了解,为 TB 中的标签定义的规则应该只得到 1 的值,因为 html 选择器的值是 1。我的类应该有 23 的值,因为我有 3 个 html 选择器和 2 个类选择器每个应该得到 10 的值。正如您在小提琴中看到的那样,尽管 TB css 定义中的标签选择器优先。
有人可以解释我在这里缺少什么吗?
顺便说一句,我知道我可以使用 !important 标签来解决这个问题,我只是想更好地理解 CSS 特异性规则。