Bootstrap 4导航栏和内容填充高度flexbox

我必须创建一个布局,其中内容网格必须位于剩余的整个页面上,但是该布局还具有导航栏。

为此,我决定将导航栏放置在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>

最后一个菜单项被剪切了。我的要求是内容应填充页面的其余部分。

回答:

而不是h-100在黄色内容区域上使用,而是添加一个额外的CSS类以使其高度可弯曲增长:1 …

.flex-fill {

flex:1 1 auto;

}

<div class="container-fluid h-100 d-flex flex-column">

<nav class="navbar navbar-expand-sm s-navbar">

<a class="brand navbar-brand" href="/">Brand</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="button" data-target="#navbar-test" data-toggle="collapse">

<span class="navbar-toggler-icon k-icon k-icon-md k-i-hamburger"></span>

</button>

<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">Menu Item</a>

<div class="dropdown-menu" aria-labelledby="dropdown1">

<a class="dropdown-item" href="/Device">Sub menu</a>

</div>

</li>

<li class="nav-item">

<a class="nav-link" href="/Test">Test</a>

</li>

</ul>

</div>

</nav>

<div class="row flex-fill">

<main class="col" style="background-color: yellow"></main>

</div>

</div>

flex-fill实用程序类将包括在未来引导4.1版本

以上是 Bootstrap 4导航栏和内容填充高度flexbox 的全部内容, 来源链接: utcz.com/qa/409467.html

回到顶部