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

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

阅读 2.8k
评论 2018-05-21 提问
    8 个回答

    没遇到过这种情况。

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

    评论 赞赏 2018-05-22
      厦冰
      • 8.5k

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

      评论 赞赏 2018-05-22

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

        评论 赞赏 2018-05-22
          Janko
          • 84
          评论 赞赏 2018-05-22
            Meathill
            • 10.1k

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

            评论 赞赏 2018-05-22

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

              评论 赞赏 2018-05-24

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

                评论 赞赏 2018-05-24

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

                  评论 赞赏 2018-06-07
                    撰写回答

                    登录后参与交流、获取后续更新提醒