页面单位px rem em

118 阅读2分钟

px、rem、em、vw/vh

  • px是固定的单位长度,一旦设置了就无法随页面的大小而适应改变。
  • em是相对长度单位,比px更具灵活性,em的长度是相对于父元素
  • rem的长度是相对于根元素,也就是html的字体大小,通常会设定一个参考值
  • vw/vh是相对于当前视口的百分比例

px

网页上的1像素单位。 px相对于显示器屏幕分辨率而言的,不随终端设备的尺寸大小而改变;

通常用来作为边框和元素定位使用,不推荐使用自适应或响应式页面

rem

rem 是css3引入的一个新的单位,表示全部的长度都相对于根元素,根元素是<html>元素。通常做法是给html元素设置一个字体大小,然后其他元素设置rem都是以html的标准值为1单位来设置

em

子元素字体大小的em是相对于父元素字体大小

元素的width/height/padding/margin用em的话是相对于该元素的font-size

em/rem:用于做响应式页面,不过我更倾向于rem,因为em不同元素的参照物不一样(都是该元素父元素),所以在计算的时候不方便,相比之下rem就只有一个参照物(html元素),这样计算起来更清晰。

1、rem 和 em 单位是由浏览器基于你的设计中的字体大小计算得到的像素值。

2、em 单位基于使用他们的元素的字体大小。

3、rem 单位基于 html 元素的字体大小。

4、em 单位可能受任何继承的父元素字体大小影响

5、rem 单位可以从浏览器字体设置中继承字体大小。

6、使用 em 单位应根据组件的字体大小而不是根元素的字体大小。

7、在不需要使用em单位,并且需要根据浏览器的字体大小设置缩放的情况下使用rem。

8、使用rem单位,除非你确定你需要 em 单位,包括对字体大小。

9、媒体查询中使用 rem 单位

10、不要在多列布局中使用 em 或 rem -改用 %。

11、不要使用 em 或 rem,如果缩放会不可避免地导致要打破布局元素。

vw/vh

vw/vh是一个相对单位(类似于em,rem)

  • vw:viewport width 视口宽度单位
  • vh:viewport height 视口高度单位

相对视口的尺寸计算结果

  • 1vw = 1/100视口宽度
  • 1vh = 1/100视口高度

注意:和百分比是有区别的,百分比相对于父元素来说得,而vw和vh总是针对于视口来说的。