Html CSS组合问题
如果我的css中有以下两种标签组合,我会很难做到这一点:Html CSS组合问题,html,css,Html,Css,如果我的css中有以下两种标签组合,我会很难做到这一点: aside h4 { color:yellow; } article h4 { color:blue; } 我将它们应用于下面的HTML <div> <h4>International new</h4> <article> <h4 class="headline">New Developments!<
aside h4 {
color:yellow;
}
article h4 {
color:blue;
}
我将它们应用于下面的HTML
<div>
<h4>International new</h4>
<article>
<h4 class="headline">New Developments!</h4>
<aside>
<h4>Impact On Marckets</h4>
</aside>
</article>
</div>
国际新
新的发展!
对马尔基茨的影响
您的问题是由于CSS选择器的特殊性造成的。你可以读更多
所以,为了解决您的问题,您必须在声明CSS规则时更加具体。在您的情况下,您采用以下规则:
article h4 {
font-style:normal;
color:blue;
}
并添加.headline类,文本将变为黄色
article h4.headline {
font-style:normal;
color:blue;
}
这是对新规则的玩弄:这是因为
第h4条和第h4条具有相同的特异性。鉴于它们具有相同的相关性,将使用CSS文件中的最后一条规则
特异性是基于每个选择器类型的计数应用于给定CSS声明的权重。在特殊性相等的情况下,CSS中找到的最新声明将应用于元素。专一性仅适用于同一元素的目标。直接针对元素的CSS规则将始终优先于元素从祖先继承的规则
特异性()
如果在CSS中切换它们的位置,文本将为黄色
.headline{
颜色:红色;
}
第h4条{
字体风格:普通;
颜色:蓝色;
}
除h4外{
字体风格:斜体!重要;
颜色:黄色;
}
国际新
新的发展!
对马尔基茨的影响
这是因为您的文章h4
CSS规则位于页面底部-如果您在底部将放在h4
旁边,那么它将覆盖前面的引用
正如其他人提到的,使用CSS专用性(更具体地使用CSS规则)。我认为在CSS文件中,您只需要更改以下属性
h4{
字体风格:斜体!重要;
颜色:黄色!重要;
}
旁注:您可以删除xmlns=”http://www.w3.org/1999/xhtml“
,因为它对HTML没有影响。阅读。谢谢你的建议。这是因为我从我的VisualStudio复制粘贴html代码,默认情况下它就在那里。这不是为了解决问题,我可以更改颜色。问题是为什么css是这样工作的——答案是(css中的最后一条规则)。无论如何,谢谢你的努力。我很感激。没问题,很高兴我能帮上忙。我的css不会更具体。这是一个我无法回答的问题,我不明白为什么会这样。这个css不是我写的。无论如何,谢谢你的帮助。