rem
rem copied to clipboard
html设定为固定的px,就不会随系统字体大小改变了,所以不明白方案3为什么是不行的?
在系统设置的字体大小发生改变时,defaultFontSize 会跟着改变,而 16 不会变化。所以方案3虽然表面上不考虑默认字体大小的变化,只关注屏幕与设计稿之间的宽度比,但在实际计算中还是使用到了默认字体大小,而且还有一个不变的 16 在作祟,导致方案3失败。
这段话怎么理解?是说html设定了固定px,系统还会去根据默认字体大小去计算?
html font-size显示设定为16px,不管系统或浏览器怎么变,html字体还是原来的啊。用%才会和默认字体有关系。 我觉得方案3才是最正确,没有绕弯的;使用%还需要考虑默认字体。
这涉及到rem具体的计算方式,不是直接使用 1rem = 1 * htmlFontSize,而是做了一次转换:1rem = 1 * (htmlFontSize / 16) * defaultFontSize,而defaultFontSize这个值在一些Android下面是个变化值,16又是固定的,所以会出问题。