vw、vh、vmin、vmax、em、rem的使用详解
转载自:https://blog.csdn.net/ZNYSYS520/article/details/76053961
1,vw、vh、vmin、vmax 的含义
(1)vw、vh、vmin、vmax 是一种视窗单位,也是相对单位。它相对的不是父节点或者页面的根节点,而是由视窗(Viewport)大小来决定的,单位 1,代表类似于 1%。
视窗(Viewport)是你的浏览器实际显示内容的区域—,换句话说是你的不包括工具栏和按钮的网页浏览器。
(2)具体描述如下:
- vw:视窗宽度的百分比(1vw 代表视窗的宽度为 1%)
- vh:视窗高度的百分比
- vmin:当前 vw 和 vh 中较小的一个值
- vmax:当前 vw 和 vh 中较大的一个值
2,vw、vh 与 % 百分比的区别
(1)% 是相对于父元素的大小设定的比率,vw、vh 是视窗大小决定的。
(2)vw、vh 优势在于能够直接获取高度,而用 % 在没有设置 body 高度的情况下,是无法正确获得可视区域的高度的,所以这是挺不错的优势。
3,vmin、vmax 用处
做移动页面开发时,如果使用 vw、wh 设置字体大小(比如 5vw),在竖屏和横屏状态下显示的字体大小是不一样的。
由于 vmin 和 vmax 是当前较小的 vw 和 vh 和当前较大的 vw 和 vh。这里就可以用到 vmin 和 vmax。使得文字大小在横竖屏下保持一致。
4,em, rem
- em是相对长度单位。em应用于字体大小时,em是基于继承的,相对于父元素的font-size; 当em应用于盒子大小(width, height, padding, border, margin)时,em是相对于自身的font-size进行计算。
如果某元素以 12pt 显示,那么 2em 是24pt;如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸(16px)。所有未经调整的浏览器都符合: 1em=16px。那么12px=0.75em,10px=0.625em。为了简化font-size的换算,需要在css中的html选择器中声明Font-size=62.5%,这就使em值变为 16px*62.5%=10px, 这样12px=1.2em, 10px=1em。
- rem也是相对长度单位。相对于HTML根元素的字体大小。
1. em的值并不是固定的;
2. em会继承父级元素的字体大小。
<article> <p></p> </article>
article { font-size: 1.314em; } p { font-size: 1.314em; }
article font-siee: 1.314*16px
p font-size:1.314*1.314*16px