我有一个窗口,我想填满整个屏幕,以便页脚始终不在屏幕上。我用最小高度完成了这个:
#cnt
{
min-height: calc(100% - 62px);
}
但是,在某些情况下,对于我创建的侧边栏来说,它可能太小了。侧边栏的最小高度为 404px。我怎样才能同时使用这两者,以便它使用更大的价值?这可以用严格的 CSS 来完成还是我需要 JS?
这行不通:
#cnt
{
min-height: calc(100% - 62px);
min-height: 404px;
}
它最终总是使用 404px 值。
这是我的 JS/jQuery 解决方案。我发现的一个问题是我的浏览器的
$(window).height()
返回的值比应有的值大 400 像素。此外,在调整大小时,它会在一个值 (+377px) 和另一个值 (+787px) 之间来回跳转,其中 + 表示它比实际值大得多。为了解决这个问题,我使用了 <cnt>
元素本身的高度,但这有同样的来回跳跃大小问题。
$(window).resize(function(){
if($("cnt").outerHeight() < 404)
{
$("cnt").css("min-height", "404px");
}
else
{
$("cnt").css("min-height", "calc(100% - 62px)");
}
}).load(function(){
if($("cnt").height() < 404)
{
$("cnt").css("min-height", "404px");
}
else
{
$("cnt").css("min-height", "calc(100% - 62px)");
}
});
一般来说,“可变”约束最好是
height
,而“固定”约束是min-
或max-height
。在你的情况下:
#cnt {
height: calc(100% - 62px);
min-height: 404px;
}
这将允许高度根据百分比变化,但将被限制为最小 404 高度。
如果你不介意使用两个 div,那么也许你可以这样做:
<div style="min-height:calc(100% - 62px);">
<div style="min-height:404px;">
content here
</div>
</div>
老问题,但是因为这个问题在谷歌上排名第一,所以当前的答案是 min/max() https://developer.mozilla.org/zh-CN/docs/Web/CSS/min
所以对于一个模态,我想成为视口的 90%,最大为 1400px,我最终得到:
.modal-dialog {
max-width: min(90vw, 1400px);
}