视口的相对单位

vh和vw,vmin和vmax

vh和vw相对于视口的高度和宽度,而不是父元素的(CSS百分比是相对于包含它的最近的父元素的高度和宽度)
1vh 等于1/100的视口高度,1vw 等于1/100的视口宽度
比如:浏览器高度900px,宽度为750px, 1 vh = 900px/100 = 9 px,1vw = 750px/100 = 7.5 px。

设置一个和屏幕同宽的标题,h1{font-size:100vw},那标题的字体大小就会自动根据浏览器的宽度进行缩放,以达到字体和viewport大小同步的效果。

vmin and vmax:关于视口高度和宽度两者的最小值或者最大值。
比如,浏览器的宽度设置为1200px,高度设置为800px, 1vmax = 1200/100px = 12px, 1vmin = 800/100px = 8px。如果宽度设置为600px,高度设置为1080px, 1vmin就等于6px, 1vmax则等于10.8px。

有一个元素,你需要让它始终在屏幕上可见:
HTML代码:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
    <title></title>
    <style>
        *{margin:0; padding:0;}
        .box {
            height: 100vmin;
            width: 100vmin;
            background:#f00;/*为了让用户看到*/
        }
    </style>
</head>
<body>
 
<div class="box"></div>
</body>
</html>

页面截图,红色区域会随着浏览器窗口的大小改变而改变
如果要让这个元素始终铺满整个视口的可视区域,只需要把上面的vmin改成vmax即可

*{margin:0; padding:0;}
.box {
    height: 100vmax;
    width: 100vmax;
    background:#f00;/*为了让用户看到*/
}

vw, vh, vmin, vmax:IE9+局部支持,chrome/firefox/safari/opera支持,iOS safari 8+支持,Androidbrowser4.4+支持,chrome for android39支持

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 响应式布局的实现依靠媒体查询( Media Queries )来实现,选取主流设备宽度尺寸作为断点针对性写额外的样...
    iyimao阅读 3,483评论 0 0
  • 我们很容易无法摆脱的使用我们所熟悉的CSS技术,当新的问题出现,这样会使我们处于不利的地位。 随着Web继续的发展...
    yo_yo_阅读 2,801评论 0 0
  • 众所周知,当使用CSS技术的时候,很容被一些奇异问题给困住。而当我们面对新的问题时,这会让我们处于非常不利的位置。...
    cbw100阅读 4,055评论 0 12
  • CSS:7个你可能不认识的单位2016-09-18 野狗 ✦ ✦ ✦ ✦ ✦ ✦ ✦ ✦ 众所周知,当使用CSS技...
    丁小时候阅读 1,352评论 0 0
  • 中午和朋友聊天,她问我结婚多少年了,我告诉她二十一年了,她又问我:“现在你很有钱吗?”我笑笑说:“你看我像有钱的吗...
    子皿悠悠阅读 4,868评论 18 13