首页 > 解决方案 > 当在 em 中设置元素的 fontSize 时,getComputedStyle(elem,).getPropertyValue('font-size') 返回错误值

问题描述

我正在尝试以他的方式获取元素的字体大小: getComputedStyle(MyTargetElement , "").getPropertyValue('font-size')

不知何故,这会返回它返回的错误值,16px但预期是14px,为什么?

<RootElement /> fontsze:14px 
  <GranParent /> fontsze:1rem 
    <Parent /> fontsze:1em
      <MyTargetElement /> fontsze:1em

这里有什么问题?

标签: javascriptcssreactjs

解决方案


ReactJS 应用程序的 RootElement不是HTML 的实际根元素(它是<html>元素本身,并且是rem计算的基础):您必须将应用程序安装在某个地方,并且(再一次,几乎总是)它甚至不是一个<body>元素,而是它的后代之一。

如果您没有<html>明确设置字体大小,则用户代理最终会使用自己的样式表,这就是您16px作为 1rem-1em-1em 链的计算值到达的方式。


推荐阅读