我必须创建一个布局,其中内容网格必须在整个剩余页面上,但布局也有一个导航栏。
为了做到这一点,我决定将导航栏放在一个Flex容器中,并将内容放在高度为100%的一行中。我需要内容来填充剩余的空间。菜单是动态的,所以我不能知道导航栏的高度是多少。
但是在较小的屏幕上,导航栏不能正确调整大小。如果展开菜单,则菜单将覆盖内容。
<div class="container-fluid h-100 d-flex flex-column">
<nav class="navbar navbar-expand-sm s-navbar">
...
</nav>
<div class="row h-100">
...// content presented here
</div>
</div>
您可以在这里看到https://jsfiddle.net/ej9fd368/8/,因为黄色内容,最后一个菜单项被剪切。
我的要求是内容应该填满页面的其余部分。
1条答案
按热度按时间aemubtdh1#
Bootstrap 5(2023年更新)
对于未来的读者,Bootstrap 5仍然使用flexbox和相同的类来实现全高度布局。
https://codeply.com/p/YSZEOQXFh2
Bootstrap 4(原始答案)
不要在黄色内容区域上使用
h-100
,添加一个额外的CSS类,使其高度为flex-grow:1。https://codeply.com/go/xBAMfbHqbN
注意:
flex-fill
工具类将包含在下一个Bootstrap 4.1版本中:https://github.com/twbs/bootstrap/commit/2137d61eacbd962ea41e16a492da8b1d1597d3d9(Updated Bootstrap 4.1 demo)
相关问题:How to make the row stretch remaining height