我在以下部分上需要大约85px的填充顶部和填充底部。

所以我的部分如下所示:

css - rem没有输出相对于主体字体的值,em工作正常-LMLPHP

我的body元素的font-size16px,因此我将以下样式应用于填充部分:

.careers-highlight-contact-section {
    padding-top: 5.31rem;
    padding-bottom: 5.31rem;
}


我得到5.31的方式是85/16,但是现在当我检查计算值时,我看到填充顶部和底部底部实际上是53px。如何得出这个值?

您可以在此链接here上看到此错误。

如果您将填充值从rem更改为em,那么您将获得正确的高度。为什么会这样呢?

css - rem没有输出相对于主体字体的值,em工作正常-LMLPHP

最佳答案

如果您参考W3C规范,则rem单位定义为:


  等于根元素上“ font-size”的计算值。
  
  在根元素的“字体大小”属性中指定时,“ rem”单位是指属性的初始值。


因此,根据我的评论,rem的计算基于在根元素(即<html>元素而不是<body>元素)上声明的字体大小。只要在前者上声明font-size: 16px,就会看到将计算出正确的填充。

关于css - rem没有输出相对于主体字体的值,em工作正常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45613844/

10-12 03:33