如何使浏览器窗口的高度达到100%?
我有一个有两列的布局 - 左边的div
和右边的div
。
正确的div
有一个灰色的background-color
,我需要它根据用户的浏览器窗口的高度垂直扩展。 现在background-color
在该div
的最后一部分内容结束。
我试过height:100%
, min-height:100%;
等等
有几个CSS3测量单位称为:
视口 - 百分比(或视口相对)长度
什么是视口 - 百分比长度?
从上面链接的W3候选人建议:
视口百分比长度是相对于初始包含块的大小。 当初始包含块的高度或宽度发生变化时,会相应地缩放。
这些单位是vh
(视口高度), vw
(视口宽度), vmin
(视口最小长度)和vmax
(视口最大长度)。
这怎么可以用来使分隔符填满浏览器的高度呢?
对于这个问题,我们可以使用vh
: 1vh
等于视口高度的1%。 也就是说,无论元素在DOM树中的位置如何, 100vh
都等于浏览器窗口的高度:
HTML
<div></div>
CSS
div {
height:100vh;
}
这实际上是所有需要的。 这是一个JSFiddle的例子 。
哪些浏览器支持这些新单位?
除了Opera Mini以外,所有最新的主流浏览器都支持该功能。 退房我可以使用......获得进一步支持。
这怎么可以用于多列?
在手边的问题中,具有左右分隔符,这里是一个JSFiddle示例,显示了包含vh
和vw
的两列布局。
100vh
与100%
有何不同?
以此布局为例:
<body style="height:100%">
<div style="height:200px">
<p style="height:100%; display:block;">Hello, world!</p>
</div>
</body>
该p
标签这里设置为100%的高度,但由于其包含div
具有200像素高度,200像素100%变为200像素,则不是100% body
高度。 相反,使用100vh
意味着无论div
高度如何, p
标签都是body
高度的100%。 看看这个随附的JSFiddle,轻松看到差异!
如果要设置<div>
或任何元素的高度,则应该将<body>
和<html>
的高度设置为100%。 然后你可以用100%来设置元素的高度:)
这里是一个例子:
body, html {
height: 100%;
}
#right {
height: 100%;
}
如果你能够绝对定位你的元素,
position: absolute;
top: 0;
bottom: 0;
会做到这一点。
链接地址: http://www.djcxy.com/p/7137.html上一篇: How to make a div 100% height of the browser window?
下一篇: How to align a <div> to the middle (horizontally/width) of the page