CSS 单位 - vh/vw 和 % 有什么区别?

标签 css viewport-units

我刚刚了解了一个新的、不常见的 CSS 单元。 vhvw 分别测量视口(viewport)的高度和宽度的百分比。

我从 Stack Overflow 查看了这个问题,但它使单位看起来更加相似。

How does vw and vh unit works

答案具体说

vw and vh are a percentage of the window width and height, respectively: 100vw is 100% of the width, 80vw is 80%, etc.

这似乎与更常见的 % 单元完全相同。

在开发人员工具中,我尝试将值从 vw/vh 更改为 %,反之亦然,结果相同。

两者有区别吗?如果不是,为什么要将这些新单元引入 CSS3

最佳答案

100% 可以是任何高度的 100%。例如,如果我有一个 1000px 高的父级 div100% 的子级 div高度,那么该子 div 理论上可以比视口(viewport)的高度高得多,或者比视口(viewport)的高度小得多,即使 div 是设置为 100% 高度

如果我改为将子 div 设置为 100vh,那么它将仅填充高度的 100%视口(viewport)的,不一定是父 div

body,
html {
    height: 100%;
}

.parent {
    background: lightblue;
    float: left;
    height: 200px;
    padding: 10px;
    width: 50px;
}

.child {
    background: pink;
    height: 100%;
    width: 100%;
}

.viewport-height {
    background: gray;
    float: right;
    height: 100vh;
    width: 50px;
}
<div class="parent">
    <div class="child">
        100% height
        (parent is 200px)
    </div>
</div>

<div class="viewport-height">
    100vh height
</div>

关于CSS 单位 - vh/vw 和 % 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49637008/

相关文章:

javascript - 如何修复具有粘性标题以及排序和搜索的表格的大小?

html - 视口(viewport)单位随宽度和高度的变化而缩放

javascript - 使用 javascript 调整所有 div 大小以克服浏览器对 vh、vm 和 css calc 的支持

css - 一些 css 网格不适合线条

css - 我可以在 Angular 中设置数字的小数样式吗?

html - 使用 bootstrap 居中 <td>

jquery - 输入输入时,页面在移动设备上向上滚动?

css - 视口(viewport)单位字体大小和缩放错误 : which browsers are affected?

javascript - 内联 flex 盒模型中背景图像的宽度

html - css中的动画不起作用