将元素的高度设置为视口中可用的高度?

时间:2016-04-04 12:20:05

标签: html css

我的元素的高度会根据用户使用它的方式而增加。如果我给它一个包装器div,并给该div一个明确的像素高度overflow:auto,它就像我希望的那样工作(当元素变得大于其父级的高度时,它不会增加父母的大小)。我希望包装器div与页面上的可用空间一样大,但不允许它超出范围。给它height:100%不起作用,它会变得更大。给它height:100vh也不起作用,因为页面上有其他元素,因此尺寸太大。

我希望包装器div能够扩展,直到它对于视口变得太大(如果它不是页面上的其他元素,height:100vh将会实现)。

基本上我正在寻找类似height : amount of available space in the viewport的东西。

3 个答案:

答案 0 :(得分:0)

您可以使用height:80vh或类似内容取决于其他元素的高度

答案 1 :(得分:0)

function resizeElement() {
var height = $(window).height();
var neededHeight = (70 * height) / 100; //If you want 70% of the viewport
neededHeight = parseInt(neededHeight) + 'px';
$("div").css('height',neededHeight);
}
$(document).ready(function() {
resizeElement();
$(window).bind('resize', resizeElement);
});

你可以试试这个。您可能需要检查var height中的值。根据您的需要,您可以在needHeight中附加或不附加px。这基本上就是逻辑。

答案 2 :(得分:0)

这就是我最终做的事情:

Set-PrintConfiguration

我在调整大小时再次执行相同的操作。 var viewportHeight = $(window).height(); var offset = $('#gridWrapper').offset().top; $('#gridWrapper').height(viewportHeight - offset); 是包装div的ID。