px em rem 的区别

1,px代表像素。平时开发时屏幕的宽度1920px不是说屏幕有1920mm,而是说屏幕有1920px

在相同的屏幕宽高下:如:15.6英寸(396.24毫米)的笔记本电脑:

 

每单位 1920*xxx的分辨率 1366*xxx的分辨率
一毫米 1920/396.24=4.8个px 1366/396.24=3.4个px
  • 高分辨率意味着大约每一毫米5像素点,像素点越多,色块越多,页面越清晰
  • 低分辨率意味着大约每一毫米3像素点,像素点越少,色块越少,页面越模糊
  • 分辨率=1920(个像素点)*640(个像素点)

2,px是你屏幕设备物理上能显示出的最小的一个点,这个点不是固定宽度的,不同设备上点的长宽、比例有可能会不同。假设:你现在用的显示器上1px宽=1毫米,但我用的显示器1px宽=两毫米,那么你定义一个div宽度为100px,你显示器上看这个div是10厘米,我显示器上看是20厘米。另外一个px点的长宽不一定是1:1的正方形,有的设备上长宽比是不一样的。

em尺寸:所有现代浏览器下默认字体尺寸是16px,这时1em=16px。然后你人为的把body里面定义font-size:12px;(把浏览器默认16px改小了),此刻1em=12px,如果0.8em实际等于12px*0.8;em的用处是你要整个网页字体统一变大变小你只要改body里面font-size的值就行了。
另外:em会继承父元素的字体大小,比如:
body{font-size: 16px;}
p{font-size:0.75em;}
span{font-size:2em;}

<html>
我大小为16px;
<p>
段落文字大小为12px(16*0.75);
<span>
我大小是2em,即24px,这里是相对父级字号*2的,而不是相对body里面的16px
</span>
</p>
</html>

Rem,上面你看到了,em相对父级,嵌套一多了算字体到底多大就很操蛋,所以有了Rem(浏览器支持还不是很理想),Rem只相对html或body的字体尺寸(默认还是16px,除非你自己用font-size定义为其他),没有了继承父级尺寸这个关系

猜你喜欢

转载自blog.csdn.net/kalinux/article/details/81386315