javascript - 在响应式站点中垂直分布 div

标签 javascript css

第一次张贴者 - 我会努力适应 :) 我的页面左侧有一个宽度为 75% 的 div,右侧有一个侧边栏,垂直列中有四个 div。随着窗口大小的调整,我希望那些侧边栏 div 与主 div 的高度均匀分布。显然,在这样做时,主 div 的内容将决定该高度。

我用下面的脚本来管理这个。我不知道这是最优雅的解决方案,还是最明智的解决方案,但它似乎对我有用!

var mrrHeight = document.getElementById('mrrBody').clientHeight;
document.getElementById("side1").style.height = (mrrHeight/4)-21 + "px";
document.getElementById("side2").style.height = (mrrHeight/4)-21 + "px";
document.getElementById("side3").style.height = (mrrHeight/4)-21 + "px";
document.getElementById("side4").style.height = (mrrHeight/4)-21 + "px";

现在我需要让它以更实时的方式工作 - 目前它只在加载时工作,并且在调整窗口大小时侧边栏 div 的大小错误。一般来说,这(几乎)是可以接受的——它适用于不同大小的设备,但当有人调整浏览器窗口大小并且布局搞砸时,我会显得有点傻。我会使用监听器吗?我会把它放在哪里?我发现我的脚本必须在 mrrBody div 之后。

我或许可以使用表格获得正确的结果,但是“一般来说,Web 开发人员认为基于表格的布局是一种禁忌”——这是否让我的生活变得不必要地困难?我开始在我的网站中使用 div 正是为了摆脱我旧的基于表格的布局!

最佳答案

您可以使用 window.onresize 事件:

window.onresize = function(event) {
    var mrrHeight = document.getElementById('mrrBody').clientHeight;
    document.getElementById("side1").style.height = (mrrHeight/4)-21 + "px";
    document.getElementById("side2").style.height = (mrrHeight/4)-21 + "px";
    document.getElementById("side3").style.height = (mrrHeight/4)-21 + "px";
    document.getElementById("side4").style.height = (mrrHeight/4)-21 + "px";
};

关于javascript - 在响应式站点中垂直分布 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43243491/

相关文章:

css - 如果组件被破坏,如何删除特定的 scss?

html - 如何在列表项之间插入换行符

javascript - 改变一个div的颜色

javascript - 将 Base64/BLOB 图像数据从 PHP 发送到 Javascript

javascript - CSRF token 安全

CSS超高级第n子选择器?

html - 如何为响应式网站创建带滚动条的固定背景?

javascript - 在 selenium webdriver 中渲染一系列响应

javascript - 我的 discord.js 机器人似乎同时运行多个实例

html - 如何在标题值中换行