web前端CSS之“px、em、rem、%、vw、vh单位”区别

1 、px

px就是pixel(像素)的缩写,相对长度单位,相对于屏幕分辨率。

2、em

参考物是父元素的font-size,具有继承的特点。浏览器默认字体是16px,整个页面内1em不是一个固定的值。

字体大小同样都是1.5em,但是效果却截然不同,按照W3C提供的公式,我们可以计算下: class为id1的div字体大小继承自父元素body:16px*1.5em = 24px class为id2的div字体大小继承自父元素id1:24px*1.5em = 36px class为id3的div字体大小继承自父元素id2:36px*1.5em = 54px

3、rem

rem是CSS3新增的一个相对单位,但相对的只是HTML根元素。通过它既可以做到只修改根元素就成比例地调整所有字体大小,又可以避免字体大小逐层复合的连锁反应。

4、%

% 百分比,相对长度单位,相对于父元素的百分比值

元素宽高与字体大小使用区别:

(1)尽量使用相对尺寸单位

使用相对尺寸单位计量,则在调整页面的布局的时候,不需要遍历所有的内部DOM结构,重新设置内部子元素的尺寸大小。如果是随着父容器或者是整体页面布局而改变尺寸,则使用%更好,如元素的高度和宽度设置。

(2)字体尺寸尽量使用em、rem

为了字体大小的可维护性和伸缩性,推荐使用em,如果存在3层以及3层以上的字体相对尺寸的设置,可以考虑使用rem。

5、vw和vh

vm、vh、vmin、vmax是一种视窗单位,也是相对单位。它相对的不是父节点或者页面的根节点。而是由视窗(Viewport)大小来决定的,单位 1,代表类似于 1%。 视窗(Viewport)是你的浏览器实际显示内容的区域—,换句话说是你的不包括工具栏和按钮的网页浏览器。

具体描述如下:

vw:视窗宽度的百分比(1vw 代表视窗的宽度为 1%)
vh:视窗高度的百分比
vmin:取当前Vw和Vh中较小的那一个值
vmax:取当前Vw和Vh中较大的那一个值

vh和vw相对于视口的高度和宽度, 1vh 等于1/100的视口高度,1vw 等于1/100的视口宽度 比如:浏览器高度900px,宽度为750px, 1 vh = 900px/100 = 9 px,1vw = 750px/100 = 7.5 px, 很容易实现与同屏幕等高的框。

calc + vm 计算宽度

width: 800px; 
width: -moz-calc(100vm - (2 * 10)px);
width: -webkit-calc(100vm -(2 * 10)px);
width: calc(100vm - (2 * 10)px);
em它是描述相对于应用在当前元素的字体尺寸,所以它也是相对长度单位。一般浏览器字体大小默认为16px,则2em == 32px;尝试一下
ex依赖于英文字母小 x 的高度尝试一下
ch数字 0 的宽度
remrem 是根 em(root em)的缩写,rem作用于非根元素时,相对于根元素字体大小;rem作用于根元素字体大小时,相对于其出初始字体大小。尝试一下
vwviewpoint width,视窗宽度,1vw=视窗宽度的1%尝试一下
vhviewpoint height,视窗高度,1vh=视窗高度的1%尝试一下
vminvw和vh中较小的那个。尝试一下
vmaxvw和vh中较大的那个。尝试一下
%

三、vw px rem em换算
1.vw/vh:就是相对视口宽度或者高度,100vw 等于整个屏幕宽度 100vh等于整个屏幕高度。1vw = 1% * 视口宽度。意思是一个视口就是100vw。长度和宽度等于窗口长度或宽度的1/100
例如:1920x800的设计稿
换算1/1001920=19.2 所以 1vw=19.2px; 即:1vw/y=100vw/1920px
换算1/100
800=8 所以 1vh=8px;

2.px:px是屏幕设备物理上能显示出的最小的一点。是相对长度单位。在桌面浏览器中,1个像素往往是对着电脑屏幕的1个物理像素,但是在移动端,css中的1px并不等于设备的1px。比如iphone3,分辨率是320 x 480。iphone4变成了640 x 960,但是iphone4的实际屏幕尺寸并没有变化。这时候的1个css像素就是等于两个物理像素。

3.rem:相对于html根元素的字体大小(font-size)来计算的长度单位,可以设置,默认16px

4.em:所有现代浏览器下,默认字体尺寸都是16px。这时,1em = 16px。em会继承父级尺寸,也是相对单位。

四、应用场景

1.解决父级无高  ,设置自身固定高值又不能兼容所有设备,设置百分比无效,此时用vw设置可完美解决,兼容各种设备。

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值