html - parent 的字体大小不改变 p child

标签 html css css-selectors css-specificity

<分区>

我阅读了有关 CSS 级联规则的内容,并且对此非常了解。

  • 内联样式:1000 分
  • ID : 100 分
  • 类:10 分
  • 元素:1 分

但事实证明我的代码发生了一些奇怪的事情。当我有更高的特异性点时,该样式不适用。

这里我试图重现这个问题:

p {
  font-size: 10px
}


div.container {
  font-size: 30px !important;
}
<div class="container" style="font-size:20px;">
  <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Fuga nesciunt voluptatum eligendi tempora odio nemo delectus adipisci fugiat quasi quam hic pariatur ea beatae voluptas quae quas, blanditiis incidunt quia.</p>
</div>

p 标签不遵循我在内联设置的字体大小,甚至在 css 文件中也是如此。即使它在位置上低得多,在特异性点上高得多

最佳答案

事实证明,这不是特异性点的问题,我认为更多的是继承和级联。很高兴我现在学到了一些东西。

问题是,将 font-size 设置为 parents 实际上只会在 target children 本身没有设置 font-size 时使用。不设置时,会层叠到父级,直到找到font-size属性

但是当它在位置(低优先级)或具有较低特异性点方面设置得更早时,它不会级联起来查找字体大小属性。

p {
  font-size: 10px
}


div.container {
  font-size: 30px !important;
}

.container p {
  font-size: 30px;
 }
<div class="container" style="font-size:20px;">
  <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Fuga nesciunt voluptatum eligendi tempora odio nemo delectus adipisci fugiat quasi quam hic pariatur ea beatae voluptas quae quas, blanditiis incidunt quia.</p>
</div>

之所以可行,是因为我在 div.container 本身的 p 标签上显式设置了 font-size 属性,覆盖了之前的样式我为 p 标签设置

请注意,如果我之前删除 p 标签的样式,它将采用父标签的 font-size

关于html - parent 的字体大小不改变 p child ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34919464/

上一篇:html - 如何使文本 "Passed"和进度条在较小的 View 中显示在一行中?

下一篇:html - Bootstrap 警报正在扰乱 DOM

相关文章:

javascript - 通过按钮展开和折叠行

Javascript随机函数更改html文件中的图片

php - :not(:first-child) and Jquery 1. 8.0

css - Robot Framework CSS 属性选择器

html - 样式化 hr-tag,不清楚继承?

html - 更改 Facebook 登录按钮的宽度和高度

html - 调整 blockquote 使其适合短引号和长引号

css - 使用 :after without content and width limitation

Css float 弄乱了布局

css - CSS 选择器中单词之间的点是什么意思,比如“form.onepage”