Установить высоту div с помощью jquery (растяжка div height)
У меня есть 3 div с идентификаторами header
, content
и footer
. Верхний и нижний колонтитулы имеют фиксированную высоту, и они предназначены для плавания сверху и снизу. Я хочу, чтобы средняя высота content
вычислялась автоматически с помощью jquery. Как я могу сделать это возможным?
#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
Ответы
Ответ 1
хорошо вы можете это сделать:
$(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/
demo: http://jsfiddle.net/maniator/JVKbR/show/
Ответ 2
Правильный способ сделать это - с добрым CSS:
#content{
width:100%;
position:absolute;
top:35px;
bottom:35px;
}
И бонус заключается в том, что вам не нужно прикрепляться к событию window.onresize! Все будет корректироваться по мере переполнения документа. Все для низкой цены четырех линий CSS!
Ответ 3
Сверху моей головы:
$('#content').height(
$(window).height() - $('#header').height() - $('#footer').height()
);
Это то, что вы имеете в виду?
Ответ 4
Вы можете связать функцию следующим образом, вместо init при загрузке
$("div").css("height", $(window).height());
$(window).bind("resize",function() {
$("div").css("height", $(window).height());
});
Ответ 5
$(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"} );
}