Bootstrap 4 Navbar 和内容填充高度 flexbox [英] Bootstrap 4 Navbar and content fill height flexbox
问题描述
我必须创建一个布局,其中内容网格必须位于整个剩余页面上,但该布局还有一个导航栏.
为了做到这一点,我决定将导航栏放在一个 flex 容器中,并将内容排成一行,高度为 100%.我需要内容来填充其余的剩余空间.菜单是动态的,所以我不知道导航栏的高度是多少.
但是在较小的屏幕上,导航栏无法正确调整大小.如果菜单被展开,则菜单会被内容覆盖.
<nav class="navbar navbar-expand-sm s-navbar">...</nav><div class="row h-100">...//这里呈现的内容
你可以在这里看到https://jsfiddle.net/ej9fd368/8/ 最后一个菜单项因为黄色内容.
我的要求是内容应该填满页面的其余部分.
不要在黄色内容区域使用 h-100
,而是添加一个额外的 CSS 类,使其成为 flex-grow:1身高...
.flex-fill {弹性:1 1 自动;}
https://www.codeply.com/go/xBAMfbHqbN
<nav class="navbar navbar-expand-sm s-navbar"><a class="brand navbar-brand" href="/">品牌</a><button class="navbar-toggler s-btn-hamburger order-first s-color-icons" aria-expanded="true" aria-controls="navbar-test" aria-label="Toggle navigation" type="按钮" data-target="#navbar-test" data-toggle="collapse"><span class="navbar-toggler-icon k-icon k-icon-md k-i-hamburger"></span>按钮><div class="navbar-collapse s-menu-content collapse show" id="navbar-test"><ul class="navbar-nav mr-auto"><li class="nav-item dropdown"><a class="nav-link dropdown-toggle" id="dropdown1" aria-expanded="false" aria-haspopup="true" data-toggle="dropdown">菜单项</a><div class="下拉菜单" aria-labelledby="dropdown1"><a class="dropdown-item" href="/Device">子菜单</a><li class="nav-item"><a class="nav-link" href="/Test">Test</a>
</nav><div class="row flex-fill"><main class="col" style="background-color: yellow"></main>