Html 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!<

如果我的css中有以下两种标签组合,我会很难做到这一点:

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不是我写的。无论如何,谢谢你的帮助。