css中em/px/rem/vh/vw的区别

文章类型:CSS

发布者:hp

发布时间:2023-03-17

css单位分为相对长度单位和绝对长度单位,在项目开发过程中,我们常用px、%、em适用于大部分的项目开发并且兼容性良好,从CSS3开始,新增了rem、vh、vw、vm,利用这些新单位能开发出良好的响应式页面

一分类:

相对长度单位:em、ex、ch、rem、vw、vh、vmin、vmax、%

绝对长度单位:cm、mm、in、px、pt、pc

二:区别

1:px 表示像素,呈现在我们显示器上的一个个小点,每个像素点都是相同的,在在移动端中存在设备像素比,px实际显示的大小是不确定的,又被认为相对长度单位

2:em是相对长度单位。相对于当前对象内文本的字体尺寸。如字体尺寸未被设置,则相对于浏览器的默认字体尺寸(1em = 16px),通常简化 font-size 换算在 body 中声明font-size= 62.5%,这就使 em 值变为 16px*62.5% = 10px,1em=10px更加方便计算

3:rem 主要基于根节点,设置html的文字大小,达到等比缩放,算出来的字体大小,不能小于12px,在移动端显示不同的元素比例,如html的font-size:20px,那么此时的1rem = 20px

 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0,minimum-scale=1.0">

4:vh、vw 主要是针对窗口的宽高,分成100等份,100vh/vw表示满高满宽,在不同的宿主环境中,浏览器中是指可视区域,在移动端指布局视口,vmin和vmax 主要用于区较小和较大的一个,主要用于移动设备横屏切换上

5:% 相对于父元素的宽度比例,对于absolute的元素是相对于已定位的父元素,对于fixed的元素是相对于可视窗口

6:pt 点(Point),1pt = 1/72 of 1in;

7:pc派卡(Pica),1pc = 12 pt

8:in 英寸(Inch),1in = 96px

9:ex相对于字符“x”的高度。此高度通常为字体尺寸的一半