我在twitter-bootstrap中有一个div元素,它的内容会在屏幕外垂直溢出。
我希望div占用浏览器窗口大小的高度,让其余内容在窗口中垂直滚动。
我有一个无效的样本@ jsFiddle
#content {
border: 1px solid #000;
overflow-y:auto;
height:100%;
}
<div class="container-fluid">
<div class="row-fluid">
<div class="span3">Side Bar</div>
<div class="span9" id="content">
Content Bar Example Content
</div>
</div>
</div>
我在阅读了SO Questions
之类的问题之后发布了这个问题修改 -
对不起家伙我想我的问题出错了。
我想要的是我的div必须填满屏幕中其余的垂直空间。
如果有人可以推荐一个响应式解决方案,那就太好了
答案 0 :(得分:49)
使用CSS {height: 100%;}
匹配父级的高度。这可能是任何东西,意味着比屏幕更小或更大。使用{height: 100vh;}
匹配视口的高度。
.container {
height: 100vh;
overflow: auto;
}
根据Mozilla's官方文件,1vh是:
等于视口初始包含块高度的1%。
答案 1 :(得分:26)
您还需要为父元素提供height
!看看这个fiddle。
html, body {height: 100%;}
#content, .container-fluid, .span9
{
border: 1px solid #000;
overflow-y:auto;
height:100%;
}
$(document).ready(function(){
$(window).resize(function(){
$(".fullheight").height($(document).height());
});
});
答案 2 :(得分:12)
试试这个
$(document).ready(function(){
$('#content').height($(window).height());
});
答案 3 :(得分:3)
使用简单的CSS 高度:100%; 匹配父级的高度,使用 height:100vh 匹配高度>视口。
使用 vh 代替%;
答案 4 :(得分:1)
使用
$(document).height()属性并从脚本设置为div并设置
overflow=auto
滚动
答案 5 :(得分:0)
这对我有用JsFiddle
HTML
..bootstrap
<div class="row">
<div class="col-4 window-full" style="background-color:green">
First Col
</div>
<div class="col-8">
Column-8
</div>
</div>
css
.row {
background: #f8f9fa;
margin-top: 20px;
}
.col {
border: solid 1px #6c757d;
padding: 10px;
}
JavaScript
var elements = document.getElementsByClassName('window-full');
var windowheight = window.innerHeight + "px";
fullheight(elements);
function fullheight(elements) {
for(let el in elements){
if(elements.hasOwnProperty(el)){
elements[el].style.height = windowheight;
}
}
}
window.onresize = function(event){
fullheight(elements);
}
结帐JsFiddle链接 JsFiddle