Bootstrap 4 Navbar and content fill height flexbox

前端 未结 1 794
庸人自扰
庸人自扰 2020-11-29 13:18

I have to create a layout in which a content grid has to be on the full remaining page, but the layout has also a navigation bar.

In order to do this I decided to pl

相关标签:
1条回答
  • 2020-11-29 14:02

    Instead of using h-100 on the yellow content area, add an extra CSS class to make it flex-grow:1 in height...

    .flex-fill {
      flex:1 1 auto;
    }
    

    https://www.codeply.com/go/xBAMfbHqbN

    <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>
    

    Note: The flex-fill utility class will be included in the next Bootstrap 4.1 release: https://github.com/twbs/bootstrap/commit/2137d61eacbd962ea41e16a492da8b1d1597d3d9

    (Updated Bootstrap 4.1 demo)


    Related question: Bootstrap 4: How to make the row stretch remaining height?

    0 讨论(0)
提交回复
热议问题