返回

把px写死改成rem,你不悔改的逻辑矛盾,我又岂能悔改

前端

什么叫px,什么叫rem?

Px就是像素。其实每一个屏幕是由一个个的小点组成的,就像马赛克一样,每一个小点就叫一个像素。Px就是指每一个小点的宽度或高度,一般来说屏幕的像素越多,显示效果就会越精细,所以屏幕上的文字、图形等都会变得更加清晰。

Rem(Root EM)的单位最初是来自印刷术上的术语。它表示“相对英文字母 M(大写)的宽度”,Rem也被称为“相对字号”,简单来说就是根据当前网页中文字的大小(font-size)作为基准。如果页面中文字大小设置为16像素,那么1rem就等于16px。

写文章,是源于内心,还是手到擒来

需要说明的是,使用rem单位不会让你的产品在不同屏幕上呈现出的细腻度发生变化,因为rem单位本身和px单位只是视觉效果上的不同,并没有什么实质上的差异。

一般来说,移动端开发中遇到适配问题基本都属于布局,而与页面元素的细腻度无关。

移动端开发适配主要就是让布局看起来更加的美观,让用户体验更加的优秀,而提升页面元素的细腻度不属于适配,所以rem并不是适配的首选,但也可以应用。

难不成rem就是万能的?

是的,rem就是万能的!

只要是在使用css写样式时,任何使用px的地方都可以使用rem来替代,但这种做法是不科学的,也是不规范的。

在不同情况下,是否选择使用rem单位,在实际的开发过程中是需要权衡的。

以下列举了一些场景,使用px或rem都可以得到很好的适配效果:

1.使用了非主流屏幕的设备,比如14寸的电脑,如果使用px单位会产生兼容问题,这时就可以使用rem单位进行适配;

2.在布局上,如果需要精准的控制元素之间的间距或大小,这时使用px单位会更加的合理;

3.在元素上,比如字体大小、边框宽度等,如果需要更加细腻的适配,可以使用rem单位。

有这么个道理:”我们不应过分地使用rem单位来适配,除非有特殊的需求。”

这不是相反的逻辑,这是反复的推理。

当rem单位越来越流行,使用的人越来越多时,人们不再将rem单位的本质当做单位去对待了,而是将其看成了一套万能的方法论。

万能的方法论不出现弊端,很难见得到,更何况还是编程领域。

关于rem单位使用的一些禁忌

有一些文章中,提到了以下这种写法:

html{
  font-size: 100px;
}

有的人就认为,这种写法可以使得我们无需计算,rem单位直接等于px单位,无需担心单位之间的转换。

然后通过这种写法,使用rem单位适配就可以做到真正的适配。

这种写法将html标签下的所有的字体都放大了100倍,这种做法明显是不合理的。

rem单位适配仍然需要考虑每个设备的像素密度,根元素的font-size还是需要根据不同的设备进行计算。

rem单位适配并非万能,切不可用其一概而论。

对于rem单位适配来说,任何的逻辑都是源于本质,然后脱离本质才是悖论。

任何学习都应该将本质吃透,才能够在实践中玩出花来。