我的布局有两列 - 左边 div
和右边 div
。
右边的 div
有一个灰色的 background-color
,我需要它根据用户浏览器窗口的高度垂直扩展。现在 background-color
结束于 div
的最后一段内容。
我试过 height:100%
, min-height:100%;
等。
原文由 mike 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答1.6k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
2 回答1k 阅读✓ 已解决
2 回答1.7k 阅读✓ 已解决
4 回答1.7k 阅读
2 回答1.5k 阅读✓ 已解决
2 回答999 阅读✓ 已解决
有几个 CSS 3 测量单位称为:
视口百分比 (或视口相对) 长度
什么是视口百分比长度?
来自上面链接的 W3 候选推荐:
These units are
vh
(viewport height),vw
(viewport width),vmin
(viewport minimum length) andvmax
(viewport maximum长度)。这如何用于使分隔线填充浏览器的高度?
对于这个问题,我们可以使用
vh
:1vh
等于视口高度的 1%。也就是说,100vh
等于浏览器窗口的高度,无论元素位于 DOM 树中的哪个位置:HTML
CSS
这实际上就是所有需要的。这是一个正在使用的 JSFiddle 示例。
哪些浏览器支持这些新单位?
目前,除了 Opera Mini 之外,所有最新的主流浏览器都支持此功能。查看 我可以使用… 以获得进一步的支持。
这如何与多列一起使用?
在手头的问题的情况下,具有左右分隔线,这是一个 JSFiddle 示例,显示涉及
vh
和vw
的双列布局。100vh
与100%
有何不同?以此布局为例:
p
标签在这里设置为 100% 高度,但是因为它包含div
有 200 像素高度,200 像素的 100% 变成 200 像素, 而不是body
的 100%---
高度。 Using100vh
instead means that thep
tag will be 100% height of thebody
regardless of thediv
height.看看这个 随附的 JSFiddle ,可以轻松看出其中的区别!