乐趣区

CSS单位讲解

像 px、rem、em、% 这样的长度单位大家肯定都很熟悉,前者为绝对单位,后者为相对单位。CSS3 又引入了新单位:vw、vh、vmin、vmax。下面对它们做个详细介绍。

单位 作用 特性
px 页面按精确像素展示 绝对单位
rem 相对根节点 html 字体大小来计算 相对单位
em 基准点为相对父节点字体的大小 相对单位
% 相对于父元素的大小设定的比率 相对单位
vw 视窗宽度的百分比,1vw 代表视窗宽度的 1% 视窗单位
vh 视窗高度的百分比,1vh 代表视窗高度的 1% 视窗单位
vmin 当前 vw 和 vh 中较小的一个值 视窗单位
vmax 当前 vw 和 vh 中较大的一个值 视窗单位

tip:vw、vh、vmin、vmax 是一种视窗单位,也是相对单位。它相对的不是父节点或者页面的根节点。而是由视窗(Viewport)大小来决定的,单位 1,代表类似于 1%。

视窗 (Viewport) 是你的浏览器实际显示内容的区域—,换句话说是你的不包括工具栏和按钮的网页浏览器。
假如给页面设置一个宽 800px,则 400px=50vh=50%。

一、px、em 和 rem 的区别

px 是固定的像素,一旦设置了就无法因为适应页面大小而改变。

em 和 rem 相对于 px 更具有灵活性,他们是相对长度单位,意思是长度不是定死了的,更适用于响应式布局。

对于 em 和 rem 的区别一句话概括:em 相对于父元素,rem 相对于根元素。

rem 中的 r 意思是 root(根源),这也就不难理解了。

二、vw、vh 与 % 百分比的区别

% 是相对于父元素的大小设定的比率,vw、vh 是视窗大小决定的。

vw、vh 优势在于能够直接获取高度,而用 % 在没有设置 body 高度的情况下,是无法正确获得可视区域的高度的,所以这是挺不错的优势。

三、vmin、vmax 用处

做移动页面开发时,如果使用 vw、wh 设置字体大小(比如 5vw),在竖屏和横屏状态下显示的字体大小是不一样的。
由于 vmin 和 vmax 是当前较小的 vw 和 vh 和当前较大的 vw 和 vh。这里就可以用到 vmin 和 vmax。使得文字大小在横竖屏下保持一致。

退出移动版