【问题标题】:What is overriding the CSS rule? [closed]什么是覆盖 CSS 规则? [关闭]
【发布时间】:2020-04-08 19:27:41
【问题描述】:

这是 CSS 规则的另一个意外结果。 (昨天发了这个没看懂这里:How to I avoid that the CSS rule * {} trump .a .b {}?)

由于历史原因,我有这些 CSS 规则:

:root {
    --baseFontSize: 16px;
}
html {
    font-size: var(--baseFontSize);
}

最后一条规则显示在 Chrome 中的 P 元素上。该元素上--baseFontSize 的计算值为“16px”。 “Computed Style”显示最后使用的规则是上面的规则。

但是。值为“20.8px”。

发生了什么事?

【问题讨论】:

  • 我们没有看到任何 P 元素,也没有“20.8px”
  • @TemaniAfif 不,你看不到他们。这是一个技术性更强的问题。
  • 并且每个人都在谈论您的其他问题中不涉及的具体性。只有一个选择器选择了您的 i 元素,即 *,因此它在逻辑上适用。
  • 不,您看不到它们。 如果我们无法看到/重现结果,我们将无法帮助您。你是唯一看到 20.8px 值的人。
  • @TemaniAfif 的意思是您需要向我们提供minimal reproducible example。否则我们在这里什么都做不了。

标签: css google-chrome


【解决方案1】:

如果我们使用您的变量创建一个 html 文档,可以看出该值确实是预期的 16px。所以任何地方都没有20.8px。

也许您放大了浏览器?在您的操作系统上设置不同的字体大小?

:root {
    --baseFontSize: 16px;
}
html {
    font-size: var(--baseFontSize);
}
<p> Here be text </p>

【讨论】:

  • 这不会在 OP 的问题中产生结果。即使放大,p 的计算样式仍然是 16px。
  • 我认为放大是一个不错的猜测。我什至不得不今天早些时候检查。缩放为 100%。但是在较旧的手机上,我曾经可能放大 130%(这将提供 20.8...)但是我没有在所有元素上看到这种“缩放”。
猜你喜欢
  • 1970-01-01
  • 2010-12-03
  • 1970-01-01
  • 2015-04-19
  • 2017-01-05
  • 2012-09-28
  • 2016-04-20
  • 1970-01-01
  • 2012-04-23
相关资源
最近更新 更多