javascript - 如何将 100% 高度应用于 div?

标签 javascript jquery html css

我想让最后一个/第三个 div 填充整个剩余空间。我给出了 100% 的高度,但是滚动条即将出现,我不想显示它。我有相同的 CSS 解决方案。如果不能通过 css 实现,那么 jQuery/JS 解决方案就可以了。

<html style="height:100%">
<head>
    <style type="css">
        html , body {
            width:100%; height:100%;
            padding:0px;
            margin:0px;
        }
    </style>
</head>
<body style="height:100%;padding:0px;margin:0px;">
    <div style="height:100%;width:100%">
        <div style="height:100px;background-color:#ddd">&nbsp;</div>
        <div style="height:25px;background-color:#eee">&nbsp;</div>
        <div style="display:block;height:100%;background-color:#ccc">&nbsp;</div>
    </div>
</body>
</html>

最佳答案

在 jQuery 中,您可以尝试这样的操作:

$(function() {
    $(window).resize(function() {
        $('div:last').height($(window).height() - $('div:last').offset().top);
    });
    $(window).resize();
});

无论何时调整窗口大小时,都会修改最后一个 div 的高度,以便该 div 延伸到页面底部。在页面加载时调用 Window 的调整大小方法,以便立即调整 div 的大小。

如果从窗口高度中减去 div 的顶部偏移量,则剩下可用的最大高度。如果您应用了边距、填充边框,则可能需要调整减去的值,例如:

$('div:last').height($(window).height() - $('div:last').offset().top - 30);

假设您想要距离窗口底部 30px 的 div。

关于javascript - 如何将 100% 高度应用于 div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1818467/

相关文章:

javascript - 尝试使用 if 和 else 添加类但无法正常工作

javascript - 单击需要完成才能再次激活

jquery - 创建侧边菜单以在悬停时打开菜单(一次只能打开一个菜单)?

jquery - 当我将 mousemove 事件绑定(bind)到父级时,如何阻止子级响应 mousemove 事件?

html - aquamacs 要求最终换行符

javascript - Date.prototype.getUTCFullYear() 如何与 2000 年兼容?

JavaScript 变量作为函数并获取返回的数据

javascript - 使用 MutationObserver 监听变化?

c# - 如何在 html 中创建与 ASP.NET 中的中继器中的 Linkbutton 相同的链接

php - 为什么换行符在php代码中不起作用