【发布时间】:2021-08-28 22:41:56
【问题描述】:
我在使用 Bootstrap 3.3.7 创建布局时遇到了一些困难。
我设置了一个小提琴来展示我所拥有的:https://jsfiddle.net/b8ukxb41/5/
我似乎无法解决 3 个问题:
-
我希望左侧导航菜单(以红色边框为轮廓)与内容区域(以蓝色边框为轮廓)具有相同的高度。
-
无论内容区域内有多少内容,页脚都应始终位于浏览器窗口的“底部”。我确实不想要粘性页脚 - 如果浏览器中出现滚动条,页脚应该始终位于浏览器窗口的底部,而不是粘性页脚。
-
如果内容区内容较多,右侧应有滚动条。但是,左侧导航菜单应保持在固定位置。
我能描述的最接近的就是 Gmail,您可以在其中向下滚动右侧的邮件列表,但左侧的文件夹导航保持在固定位置 - 并且左侧列一直向下到浏览器窗口的底部。
我尝试了以下方法来解决问题,但这些解决方案都不起作用:
-
在带有绿色边框的容器上使用
display: flex;,即<div class="container-fluid" style="border:1px solid green; display: flex;">。这似乎没有任何作用。我基于How can I make Bootstrap columns all the same height?中的信息 -
我尝试使用以下 CSS 作为页脚:
footer { position: absolute; right: 0; bottom: 0; left: 0; }
这样做的问题是,有时页脚会出现在带有红色边框的导航菜单“内部”。如果您向右滚动到窗口底部,它只会显示在浏览器窗口的底部。
- 我不知道该怎么做,尽管我想要的效果与此处显示的一样:https://codepen.io/sass-munch/pen/YerOLG
下图总结了我想要实现的总体目标:红色边框导航应该与蓝色边框内容区域的高度相同。标题应该是固定的。页脚应始终出现在浏览器窗口的底部 - 无论蓝色内容区域中有多少内容:
【问题讨论】:
-
这对你来说是不可能的,因为 bootstrap3 使用浮点数作为网格......你必须使用
jQuery来设置height......或者如果你正在寻找 css 解决方案,你可以实现这通过使用Flexbox布局的 bootstrap4 来实现 -
@Bhuwan 这可能有助于解释我为什么要为此苦苦挣扎!我将不得不使用 Bootstrap 3.x 而不是 4.x。你能指出我解决这个问题的 jQuery 解决方案的任何链接吗?谢谢。
标签: html css twitter-bootstrap twitter-bootstrap-3