为什么主体类覆盖页脚html

为什么主体类覆盖页脚html,html,css,Html,Css,我很好奇为什么第二种颜色会被第一种颜色所取代?有没有办法不添加!重要信息还是将其包装在body类中 body.football h3 { color: #a07a40; } footer h3 { color: white; } 它被覆盖,因为css将使用最特定的选择器而不是任何其他选择器 要解决此问题,您需要使用!重要信息标记或更改页脚选择器以使其更具体,最简单的方法是使用id 例如: #footer h3{ color: white; } <footer id

我很好奇为什么第二种颜色会被第一种颜色所取代?有没有办法不添加
!重要信息
还是将其包装在body类中

body.football h3 {
   color: #a07a40;
}

footer h3 {
   color: white;
}

它被覆盖,因为css将使用最特定的选择器而不是任何其他选择器

要解决此问题,您需要使用
!重要信息
标记或更改页脚选择器以使其更具体,最简单的方法是使用id

例如:

#footer h3{
    color: white;
}

<footer id='footer'><h3></h3></footer>
#页脚h3{
颜色:白色;
}

如果存在两个针对同一元素的选择器,则级联样式表采用分层方案。以更具体的为准

然而,你的身体可能不应该有这样的课程,这是一个最佳实践。这让人头痛

您的选择:

快速且脏,您可以使用子代选择器
指定直接子代。例如:

body.football > h3 {
   color: #a07a40;
}

footer > h3 {
   color: white;
}

<body class="football">
    <h3>Football is the Bees Knees</h3>
    <footer>
        <h3>Hi Ma Hi Pa</h3>
    </footer>
</body>
body.football>h3{
颜色:#a07a40;
}
页脚>h3{
颜色:白色;
}
足球是蜜蜂的膝盖
嗨,妈,嗨,爸
或者,根据您的OP,您也可以将正文内容包装在节或div中,并对其应用样式,即:

section#football h3 {
   color: #a07a40;
}

footer h3 {
   color: white;
}

<body>
    <section id="football">
        <h3>Football Yo</h3>
    </section>
    <footer>
        <h3>Yo Football</h3>
    </footer>
</body>
第#节足球h3{
颜色:#a07a40;
}
页脚h3{
颜色:白色;
}
足球溜溜球
溜溜球

编辑:我应该补充一点,这两个元素之间的空白意味着您将访问父元素的后代的所有元素。

CSS喜欢更具体的声明而不是不太具体的声明。如果看不到附带的HTML,可能有点难以确定,但很可能是因为body.football声明更具体。

在编写代码或css结构时存在HTML错误

HTML:

举个例子

或者,如果足球是在页脚部分,那么你需要放一个类

footer h3 {
   color: red;
}

footer .football h3 {
   color: #a07a40;
}

body.football h3 {
   color: #a07a40;
}

footer h3 {
   color: red;
}
footer h3 {
   color: red;
}

footer .football h3 {
   color: #a07a40;
}