html - 在这段代码中,为什么两段都是蓝色的?

标签 html css

.red p {
  color: red;
}

.blue p {
  color: blue;
}
<div class="blue">
  <p> first </p>
  <div class="red">
    <p> second </p>
  </div>
</div>

我以为第一个是蓝色的,第二个是红色的,但事实并非如此。为什么两个段落都是蓝色的?

最佳答案

由于 CSS 中的“C”代表级联,所以这两段都是蓝色的。查看 MDN docs查看如何应用和继承 CSS 规则。

在您的情况下,所有 <p>元素是蓝色的,因为 .blue p选择器是 CSS 中的最后一条规则,它会覆盖 .red p选择器。

您可以像这样重构您的 CSS 以确保 <p> .red 中的元素div 是红色的。

.blue p {
  color: blue;
}

.blue .red p {
  color: red;
}

关于html - 在这段代码中,为什么两段都是蓝色的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52231859/

相关文章:

css - 相同的 CSS 在不同的页面上产生不同的字体大小

HTML,Body height 100% 不起作用

php - 基于用户输入的计时器 PHP

html - ion-Checkbox only on box clickable

jquery - 如何在 Wordpress 中通过 jquery/css 加载动态内容(get、html、数据)?

javascript - 在折叠菜单中使用双箭头

javascript - 如何将js函数添加到仅当前面的元素处于焦点时才显示的元素

css - 当 <figcaption> 的内容宽度超过 <img> 兄弟的宽度时,使 <figcaption> 呈现滚动条

css - 奇数时选择最后一个 child ,偶数时选择最后一个 child

css - Svg 1px 宽度的背景线