javascript - 当在 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
这里有什么问题?
解决方案
ReactJS 应用程序的 RootElement不是HTML 的实际根元素(它是<html>
元素本身,并且是rem
计算的基础):您必须将应用程序安装在某个地方,并且(再一次,几乎总是)它甚至不是一个<body>
元素,而是它的后代之一。
如果您没有<html>
明确设置字体大小,则用户代理最终会使用自己的样式表,这就是您16px
作为 1rem-1em-1em 链的计算值到达的方式。
推荐阅读
- git - 同时为 `git push -u origin $BRANCH_NAME` 和 `git push` 设置一个更快的别名
- asp.net-core - 运行状况检查 UI 中的 webhook 用于什么?
- spring-batch - 如何在 Spring Batch Listener 中访问 Job 参数?
- java - 使用 setShowWhenLocked(true) 解锁后如何锁定 Android 设备;
- julia - 塑造 Julia 多维数组
- java - 无法将我的 SpringBoot API 连接到 MYSQL 数据库
- xml - 循环通过 xml 并仅获取选择项
- python - Python - 合并两个有条件的数据框
- android - BottomNavigationView,上一个片段上TextView的onFocusChange仅在新片段上的onResume之后调用
- graphql - 图 QL 对实体中不同对象的逻辑与运算