将根元素字体大小设置为百分比时,在Chrome中使用rem的文本区域的字体大小意外



当将根font-size设置为62.5%或任何其他百分比时,Chrome会将textarea字体大小渲染为16.25px。我希望它是20px,就像正在渲染的div字体大小一样。此外,在Firefox中,divtextarea都在20px上进行渲染。我有点困惑为什么这会出现在Chrome中。rem的值不应该始终基于根元素吗?

注意,将根元素font-size设置为固定的像素量,一切如预期的那样工作。

顺便说一句,我在Windows 10上,不确定这是否会在Mac上发生。此外,我想我可以切换到使用像素,但我希望使用基于百分比的大小,这样我就可以保持用户的字体大小偏好。

<html style="font-size: 62.5%">
<body>
<div style="font-size: 2rem">asdf</div>
<textarea style="font-size: 2rem">asdf</textarea>
</body>
</html>

更新:当我将词根上的字体家族更改为除单空格之外的任何字体时,似乎可以找到它。只有在单空间情况下才会出现此问题。仍然困惑于为什么会发生这种事。。。

<html style="font-size: 62.5%">
<body>
<div style="font-size: 2rem">asdf</div>
<textarea style="font-size: 2rem; font-family: sans-serif">asdf</textarea> <!-- 20px -->
</body>
</html>

您使用的是百分比,所以它不像像素那样特定,所以如果您在不同的浏览器中看到不同的大小值,这是正常的。我建议你使用字体库,使用rem或%,并尝试使用像素和媒体查询来进行响应。。。

最新更新