为什么不能用rem单位设置文字字号?

今天面试碰到的问题,没答出来。据面试官说使用rem设置的文字会比使用px设置的小。始终不能理解,望大神解惑。

阅读 9.8k
8 个回答

没遇到过这种情况。

出现这种问题一般是因为html的font-size是写死的。没有使用media-query动态改变,到了高分辨率屏幕上,字体会变小,但是这并不能说不能用rem单位设置文字字号

用rem设置的字体在不同的设备上也会随着屏幕的大小而缩放,而一般情况下是不需要的,字体应该是在不同大小的分辨率上看上去大小都差不多

我觉得 用rem设置文字字号没有毛病啊 你想想 如果要你一套代码适配手机端跟pad端 你手机端使用的是12px 如果你不适应rem设置字号 在pad端上你看到的字体是非常小的 严重影响用户体验 这个时候 你能不使用rem做字号设置吗

要么是你听错了,要么是对方讲错了……建议你好好看下关于 rem 的解释。

我感觉应该是楼主问题描述有一些问题,面试官这里应该是有一个前提条件的。例如根节点fontSize等于多少的时候,rem字体小于px。

用rem做字体最大的问题应该是锯齿问题吧,如果硬要说比px小,那我觉得可能就是浏览器的四舍五入的问题,以及font-size值没有计算取整的问题。我在实际项目中发现的,就是用rem做图片的尺寸,会发生变形。比如:width:.22rem;height:.22rem;在安卓上渲染的并不是正方形,会挤压变扁。

用rem设置文字字号比px小,这真没遇到过。
我用rem遇到的问题主要有,由于chrome最小字体12px的限制,如果通过js计算设置的html font-size小于12px,则通过rem设置margin,padding,height,width时,rem会根据12px进行换算,会比你预想的结果要大。设置font-size不受此影响

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题