css - 为什么我的 "em"字体大小根据我的设置不准确?

标签 css google-chrome safari font-size

我试图弄清楚为什么 em 字体大小在 body 字体大小设置为 10 像素时没有按照应有的方式运行。换句话说,它就像有一个 9px 最小字体大小应用于元素,除非我用像素值覆盖它。谁能解释为什么会这样?

为了进一步说明:我已将 htmlfont-size 设置为 62.5% 以实现可访问性,这在大多数情况下都是默认设置浏览器等于 10px。我还将 body 字体大小设置为 1em,这本质上等于 10px。我有 3 个具有 em 字体大小的段落。如果您尝试检查 chrome 中的 p 元素并转到开发工具中的“计算”选项卡,您会看到第一段具有 font-size 1em 计算为 10px(如预期)。但是另外两段的font-size被计算为9px,我希望它们是8px6px >。这就像应用了 9px 最小字体大小,覆盖它的唯一方法是对其应用 px 字体大小。

P.S:我在 Chrome 版本 40.0.2214.111 中遇到过这种情况,这也发生在 OS X Yosemite 上最新的 safari 中。

html {
  font-size:62.5%;
  padding:3em;
}
body { font-size:1em; }

._10 {
  font-size:1em;
}
._8 {
  font-size:0.8em;
}
._6 {
  font-size:0.6em;
}
<p class="_10">1x10 = 10</p>
<p class="_8">0.8x10 = 9 (!)</p>
<p class="_6">0.6x10 = 9 (!)</p>

最佳答案

听起来这可能是一个继承问题 -

em 将引用父容器,并据此调整大小。

如果您想始终使用在 html 或 body 元素上设置的字体大小,请使用 'rem',它是 root

这篇文章有助于分解它:https://j.eremy.net/confused-about-rem-and-em/

关于css - 为什么我的 "em"字体大小根据我的设置不准确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28376890/

相关文章:

html - CSS:当 2 个 div 在 Chrome 中的链接内时删除额外空间

javascript - Safari上动态YouTube播放器的问题

html - Touch Bar 上的自定义 Safari 书签图标和颜色

javascript - 需要一种解决方法来阻止 Safari 浏览器阻止 Facebook 身份验证弹出框以允许用户登录我的网站

css - 我应该怎么做才能防止 GWT 使用其主题并完全使用我指定的 CSS

jquery 点击查找位置 - 返回未声明的包络 div

javascript - "' x'的含义不是函数或其返回值不可迭代”错误

css - 如何在 bootstrap col-md-1 中滚动

javascript - 具有一些固定像素的垂直滚动条

google-chrome - 为什么浏览器信任 Cloudflare 共享 SSL 证书?