【发布时间】:2014-08-11 21:04:10
【问题描述】:
我有一种情况,我使用选择器加载样式,该选择器应该优先于另一个。 这种情况类似于this fiddle 中的情况,其中特定的 id 选择器没有优先于另一个使用特定 id 下的类的选择器。
--HTML
<div id="cont">
<p class="hello" id="hello">I wish I was blue</p>
</div>
--CSS
#hello {
color:blue;
}
#cont .hello {
color:red;
}
Result is red text
我很确定这可以在不使用 !important 的情况下实现 - 我真的想避免这种情况,因为这将由没有用于 A/B 测试的 css 技能的设计师维护。我想为他们制作一个选择器,他们只会编辑它的属性。
编辑:需要明确的是,#hello 选择器被注入到页面中,我想将其更改为实际可用的选择器,但我不想为此更改另一个选择器。当然,如果我别无选择,我会这样做,但似乎合理的是,这个 css 是有效的,并且应该可以在不修改它的情况下覆盖该选择器。
【问题讨论】:
-
向下移动
#hello样式。所以它会覆盖而不重要。 -
@SureshPonnukalai jsfiddle.net/vkftfj2n/2 似乎没有帮助
-
@mot: 你能把
#hello也变成#cont #hello吗?那应该解决它。这个CSS Tricks article 有更多关于选择器特异性的信息。 -
你的目标是
.hello,以一个id开头,如果你只是想定位类.hello然后把id去掉,只做.hello {}有很多方法可以解决这个问题,你只是碰巧实现了它不起作用的方式 -
@Harry 效果很好