首先是px,这是绝对单位,表示像素。1px就是屏幕上的一个像素点,大小是固定的,不会因为其他因素改变。
em是相对单位,相对于当前元素的字体大小。如果当前元素字体大小是16px,那么1em就等于16px。em会继承父元素的字体大小,所以会形成累积效果。
rem也是相对单位,但它是相对于根元素html的字体大小。无论嵌套多深,1rem始终等于根元素的字体大小,不会产生累积效果。
还有vh和vw,分别是视口高度和视口宽度的百分比。1vh等于视口高度的1%,1vw等于视口宽度的1%。
还有百分比%,相对于父元素的对应属性。比如width: 50%就是父元素宽度的50%。
在实际开发中,px适合固定尺寸的元素,em适合需要根据字体大小调整的元素,rem适合做响应式设计,vh和vw适合做全屏布局。现在移动端开发中,rem配合媒体查询是比较常用的响应式方案。