我有一个看起来很常见的CSS继承情况,但我不明白为什么它不像我想的那样工作。
以下是从Chrome网络调试器
中看到的继承效果
所以我希望我的“.homeBox p”样式会覆盖“#mainContent p”的样式。然而......
#mainContent p样式会覆盖.homeBox p。是什么给了什么?
答案 0 :(得分:2)
ID样式覆盖类样式。
为了保持一致性,我尽量避免使用ID样式。
当您开始使用服务器端脚本时,避免使用它们也很有用,有时可以重新呈现ID(例如ASP.NET)。
答案 1 :(得分:1)
顺序首先由特异性决定,而id比类更具体。
答案 2 :(得分:1)
这是因为#mainContent
比其他选择器具有更高的特异性:它被确定为该元素的最具体描述,并且是在类之上选择的。
选择者优势的规则相当复杂,在W3文档中进行了演示:http://www.w3.org/TR/CSS2/cascade.html#specificity
答案 3 :(得分:0)
#mainContent .homeBox p{font-size: 15px;}