使用jquery设置di​​v高度(拉伸div高度)

时间:2011-04-04 15:58:54

标签: jquery css css3

我有3个包含ID headercontentfooter的div。页眉和页脚具有固定的高度,它们的样式可以在顶部和底部浮动。我想用jquery自动计算中间content高度。我怎样才能做到这一点?

#header {
    height: 35px;
    width: 100%;
    position: absolute;
    top: 0px;
    z-index: 2;
}
#footer {
    height: 35px;
    width: 100%;
    position: absolute;
    bottom: 0px;
    z-index: 2;
}

提前致谢... :)

blasteralfred

6 个答案:

答案 0 :(得分:65)

你可以做到这一点:

$(function(){

    var $header = $('#header');
    var $footer = $('#footer');
    var $content = $('#content');
    var $window = $(window).on('resize', function(){
       var height = $(this).height() - $header.height() + $footer.height();
       $content.height(height);
    }).trigger('resize'); //on page load

});

请看这里的小提琴:http://jsfiddle.net/maniator/JVKbR/
演示:http://jsfiddle.net/maniator/JVKbR/show/

答案 1 :(得分:16)

正确的方法是使用古老的CSS:

#content{
    width:100%;
    position:absolute;
    top:35px;
    bottom:35px;
}

奖金是你不需要附加到window.onresize事件!随着文件的回流,一切都会调整。所有这些都是四行CSS的低价格!

答案 2 :(得分:14)

脱离我的头顶:

$('#content').height(
    $(window).height() - $('#header').height() - $('#footer').height()
);

这是你的意思吗?

答案 3 :(得分:2)

您可以按如下方式绑定函数,而不是加载时的init

$("div").css("height", $(window).height());
$(​window​).bind("resize",function() {
    $("div").css("height", $(window).height());
});​​​​

答案 4 :(得分:0)

$(document).ready(function(){ contsize();});
$(window).bind("resize",function(){contsize();});

function contsize()
{
var h = window.innerHeight;
var calculatecontsize = h - 70;/*if header and footer heights= 35 then total 70px*/ 
$('#content').css({"height":calculatecontsize + "px"} );
}

答案 5 :(得分:0)

我认为可以。

$('#DivID').height('675px');