首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CSS2选择器和样式替代

CSS2选择器和样式替代
EN

Stack Overflow用户
提问于 2008-11-18 11:14:03
回答 6查看 2.8K关注 0票数 4

这是HTML:

代码语言:javascript
复制
<div id="testBlue">
    <span>hello</span>
    <span id="testGreen" class="testGreen">hello2</span>
</div>

如果我在CSS中设置了:

代码语言:javascript
复制
#testBlue span { color:Blue; }    
.testGreen, #testGreen { color:Green; }

如何在第二个跨度中覆盖常规样式?

我尝试过id和class选择器,但它没有覆盖它。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2008-11-18 11:21:11

在CSS中,具有更高特异性的选择器会覆盖更通用的选择器。

在您的示例中,您在id = "testBlue"的中定义了div span的样式。这个选择器比类或id testGreen的简单选择器更具体,所以它赢了。您只需要一个比#testBlue span更具体的选择器,这并不难找到:

代码语言:javascript
复制
#testBlue span.testGreen {
    color: green;
}
票数 9
EN

Stack Overflow用户

发布于 2008-11-18 11:18:50

不要使用重要的,像这样给它更多的权重

代码语言:javascript
复制
#testBlue span { color:Blue; } 
#testblue #testgreen{color:Red}

编辑

我已经学会了使用!重要的是糟糕的实践

css中的某些对象在决定应用规则时具有不同的权重

请参阅http://htmldog.com/guides/cssadvanced/specificity/

我认为使用重要但更好的实践来使用权重来表示专用性并没有错。

票数 5
EN

Stack Overflow用户

发布于 2008-11-18 11:16:09

代码语言:javascript
复制
#testGreen { color: red !important;}

代码语言:javascript
复制
.testGreen { color: red !important;}

任何一个都会覆盖继承的规则,因为!important将更多的权重放在了另一个相等的决策的一侧。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/298463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档