vw、vh、vmin、vmax
这四个单位都是基于视口的。那么,什么是视口呢,我们来看一段代码:
其中,浏览器利用 meta 标签里面的 width 来改变浏览器的视口大小,将 width 设置为设备的宽度 device-width。我们可以使用document.documentElement.clientWidth 获取浏览器的视口大小。
含义
vw: 视口宽度的百分比(1vw 等于视口宽度的 1%)
vh: 视口高度的百分比(1vh 等于视口高度的 1%)
vmin: 选取 vw 和 vh 中最小的那个
vmax: 选取 vw 和 vh 中最大的那个
vw、vh 是基于视口的,而不是父元素。1vw 等于1/100 的视口宽度,1vh 等于1/100 的视口高度,比如:
浏览器高度 950px,宽度为 1920px, 1vh = 950px/100 = 9.5 px,1vw = 1920px/100 =19.2 px
vw、vh、% 的区别
% 是相对于父元素的大小设定的比率,vw vh 是视口大小决定的
vw、vh 能直接获取高度,而 % 如果没有设置body的高度情况下,是无法获取可视区域的高度。
vmin、vmax 用处
做移动页面开发时,如果使用 vw、wh 设置字体大小(比如 5vw),在竖屏和横屏状态下显示的字体大小是不一样的。
由于 vmin 和 vmax 是当前较小的 vw 和 vh 和当前较大的 vw 和 vh。这里就可以用到 vmin 和 vmax。使得文字大小在横竖屏下保持一致。
vw、vh、rem