css中单位整理:px,rem,em,vw,%,vm

 

1.px

px就是 pixel像素,相对于屏幕分辨率的长度单位;

2.em

相对单位,相对父元素的font-size,具有继承的特点。

如当前父元素的字体尺寸未设置,则相对于浏览器的默认字体尺寸(浏览器默认字体是16px,)

特点:

  1. 因为每一个父元素的font-size不同,em的值并不是固定的;

  2. em继承父级元素的字体大小

3.rem

rem是CSS3新增的相对单位,相对HTML根元素。

如果你没有设置html的字体大小,就会以浏览器默认字体大小,一般是16px

html{font-size: 62.5%}  /* 10 ÷ 16 × 100% = 62.5% */

body{font-size: 1.4rem;} /* 1.4 × 10px = 14px */

/*在根元素中定义了一个基本字体大小为62.5%(也就是10px。设置这个值主要方便计算,如果没有设置,将是以“16px”为基准 )*/

优点:

只需要设置根目录的大小就可以把整个页面的成比例的调好

rem兼容性

除了IE8及更早版本外,所有浏览器均已支持rem

4.%百分比

%百分比,相对于父元素的百分比值

1、对于普通定位元素就是我们理解的父元素

2、对于position: absolute;的元素是相对于已定位的父元素

3、对于position: fixed;的元素是相对于ViewPort(可视窗口)

5.vw、vh、vmax、vmin

这四个单位都是基于视口

vw是相对(viewport)视口宽度而定的,长度等于视口宽度的1/100

假如浏览器的宽度为200px,那么1vw就等于2px(200px/100)

vh是相对(viewport)视口高度而定的,长度等于视口高度的1/100

假如浏览器的高度为500px,那么1vh就等于5px(500px/100)

vmin和vmax是相对于视口的高度和宽度两者之间的最小值最大值

如果浏览器的高为300px、宽为500px,那么1vmin就是3px,1vmax就是5px;

如果浏览器的高为800px,宽为1080px,那么1vmin也是8px,1vmax也是10.8px

浏览器高度900px,宽度为750px,

1vh=900px/100=9px,1vw = 750px/100=7.5px;很容易实现与同屏幕等高的框。

 

单位运算:

vmax,vmin,vw,vh都支持calc的各种单位和运算符

兼容性

https://www.caniuse.com/#search=vw

注意点:

1.尽量使用相对尺寸单位

使用相对尺寸单位计量,则在调整页面的布局的时候,不需要遍历所有的内部

DOM结构,重新设置内部子元素的尺寸大小。如果是随着父容器或者是整体页

面布局而改变尺寸,则使用%更好,如元素的高度和宽度设置;

2.字体尺寸尽量使用em,rem

方便保证保持统一性

 

参考文章  参考博客

posted @ 2021-12-08 20:04  明媚下雨天  阅读(725)  评论(2编辑  收藏  举报