hbxeagle/rem

关于18px下分析的几个值的问题

formercoding opened this issue · 1 comments

首先先感谢下分享了您的优秀代码,现在想将这套方案用于自己的生产中,但是在学习的过程中有几个地方没有弄明白的,就是下面的几个值是如何计算出来的,定义好像没有说的很明白,希望可以提供帮助
方案4 18px中:
1rem实际值:64.6875px -> 这个实际值是什么意思 我的理解是
1rem = 1 * htmlFontSize * defaultFontSize = 351.5625% * 18px = 63.28125px 这个难道不是实际值么
6.4rem计算值360(按公式计算) -> 这个值应该是我需要的理想值吧

实际值是按方案4去设置font-size后,获取到的1rem的div实际的宽度。计算值是按rem的定义的计算公式去计算获取到的1rem对应的值。6.4rem对应360px是理想值。

这个解决方案的核心有两部分:1. 部分Android机实际计算rem值时使用的是1rem = 1 * (htmlFontSize / 16) * defaultFontSize这个公式;2. 参与计算的defaultFontSize需要通过getComputedStyle获取到用于计算的值,而不是用于显示的值(用于计算的值的精度高于用于显示的值)。