将div高度设置为等于屏幕大小

时间:2012-08-29 06:40:33

标签: css html twitter-bootstrap height responsive-design

我在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必须填满屏幕中其余的垂直空间。

如果有人可以推荐一个响应式解决方案,那就太好了

6 个答案:

答案 0 :(得分:49)

使用CSS {height: 100%;}匹配父级的高度。这可能是任何东西,意味着比屏幕更小或更大。使用{height: 100vh;}匹配视口的高度。

.container {
    height: 100vh;
    overflow: auto;
}

根据Mozilla's官方文件,1vh是:

  

等于视口初始包含块高度的1%。

答案 1 :(得分:26)

您还需要为父元素提供height!看看这个fiddle

CSS:

html, body {height: 100%;}

#content, .container-fluid, .span9
{
    border: 1px solid #000;
    overflow-y:auto;
    height:100%;
}​

JavaScript(使用jQuery)方式:

$(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