em/px/rem/vh/vw/%的区别

305 阅读1分钟

css里面的常见单位有px、%、em、rem、vw、vh以及vm。其中px、%、em是传统的单位,rem、vw、vh和vm是css3新增加的单位。还有其他诸如mm、pt、pc等等。 这篇文章主要记录一些一些常用的单位的用法和区别,后续会逐渐增加一些内容。

px

表示像素,所谓像素就是屏幕上的一个点,每个像素大小都是相同的。 当然再不同的设备上,px的大小实际上是不确定的。但是px的大小和元素的其他属性无关,所以可以算作是绝对单位。

em

em是相对于当前对象内文本的字体长度,默认是1em=16px。 如:元素的font-size=10px,则1em=10px。 所以:

① em并不是固定不变的; ② em会集成父元素的字体大小; ③ em是相对长度单位 ④ 任何浏览器的默认字体尺寸都是16px,而1em默认等于16px;

rem

rem和em其实概念差不多,区别就是rem总是相对于html元素,不会收到当前元素的字体大小影响和父元素的字体的影响。html的font-size就是他的唯一的标准。

vw

根据窗口的宽度分成100份,1vw就是一份,100vw就是整个窗口的宽度。

vh

同vw,根据窗口的高度分成100份,1vh就是一份,也就是高度的1%;

%

宽高设置百分比都是相对于父元素,当然如果当前元素的position为fixed,其实%方式和vw、vh同样都是窗口的百分比宽高。