加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

twitter-bootstrap – Bootstrap 4圣杯布局

发布时间:2020-12-18 00:22:58 所属栏目:安全 来源:网络整理
导读:我必须遗漏一些明显的东西.我试图在Bootstrap 4中实现Holy Grail布局的衍生物. 而不是标题 – 左列,流体中心,右列 – 页脚,我希望我的页眉和页脚在Fluid Center Column中.显然,顶部的标题,底部的页脚和中心的流体含量.并且所有列的高度相同. ---------------
我必须遗漏一些明显的东西.我试图在Bootstrap 4中实现Holy Grail布局的衍生物.

而不是标题 – >左列,流体中心,右列 – >页脚,我希望我的页眉和页脚在Fluid Center Column中.显然,顶部的标题,底部的页脚和中心的流体含量.并且所有列的高度相同.

-----------------------------------------------------
|          |       Header              |            |
|          |---------------------------|            |
|  LEFT    |                           |  RIGHT     |
|  PANEL   |       MAIN CONTENT        |  PANEL     |
|          |                           |            |
|          |                           |            |
|          |---------------------------|            |
|          |       Footer              |            |
-----------------------------------------------------

代码的骨头如下所示.我正在努力的是让页眉和页脚正确显示在流体中心列中.我觉得答案在于FlexBox,但是我无法理解如何做到这一点!

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" rel="stylesheet"/>
<div class="container-fluid h-100" id="root">
  <div class="row h-100">
    <div class="col-md-3 fixed py-3">Page Panel Left</div>
    <div class="col fluid py-3">Page Panel Main Stage

      <div class="bg-warning" style="height:8rem;">I am a header with a fixed height.</div>
      <div class="">I am the content,I should be fluid and stretch to the bottom.</div>
      <div class="bg-warning" style="height:8rem;">I am the footer with a fixed height</div>

    </div>

    <div class="col-md-3 fixed  py-3">Page Panel Right
      <div>
        <br>
        <p>Nullam congue,dui luctus aliquam maximus,erat magna posuere purus,posuere elementum urna nisi vitae dolor. Integer tristique non velit ut suscipit. Vestibulum quam eros,blandit dapibus iaculis nec,volutpat vel purus. Quisque commodo euismod
          ipsum,quis pulvinar augue. Cras non fermentum velit. Proin tincidunt lectus diam,at ornare augue interdum eget. Vivamus porttitor iaculis urna in porttitor. Maecenas auctor ac augue convallis eleifend. Praesent lacus odio,placerat sed felis
          ac,vulputate auctor quam. Cras in nulla eu libero cursus cursus ut a enim. Praesent varius viverra maximus. Morbi accumsan,orci quis semper tempus,leo ipsum efficitur ipsum,eu fermentum ipsum est ac nibh. Ut ut venenatis eros. Duis neque
          nulla,malesuada non ultrices non,laoreet nec enim. Mauris congue,ipsum non ultrices congue,leo eros tristique urna,bibendum accumsan ligula sem in justo.</p>
      </div>
    </div>
  </div>
</div>

解决方法

确保中心列是flex-column,然后使用flex-grow:1作为主要内容.在这个例子中,我只在较大的屏幕上使用侧边栏固定宽度,但您可以决定更改它.

http://www.codeply.com/go/licdodtBCO

<div class="container-fluid h-100">
    <div class="row h-100">
        <!-- left sidebar -->
        <div class="col-md-2 fixed">

        </div>
        <!-- center content -->
        <div class="col fluid d-flex flex-column">
            <nav id="topNav" class="navbar"> 
            </nav>

            <!-- main content -->
            <div class="row flex-grow">

            </div>

            <footer class="navbar navbar-toggleable-xl navbar-faded navbar-light">
            </footer>

        </div>
        <!-- right sidebar -->
        <div class="col-md-2 fixed">

        </div>
    </div>
</div>

CSS

html {
    height: 100%;
}

body {
    min-height: 100vh;
}

/* fixed and fluid only on sm and up */
@media (min-width: 576px) {
    .fixed {
        flex: 0 0 200px;
        min-height: 100vh;
    }
    .col .fluid {
       min-height: 100vh;
    }
}

.flex-grow {
   flex:1;
}

Bootstrap 4 Holy Grail Demo

注意:重要的是要注意,在classic “holy grail” layout中,术语“固定”是指宽度,而不是位置在位置:固定.但是,通过一些调整,可以获得固定的宽度和位置.例如,这里是一个替代的“圣杯”布局,左侧栏固定宽度和位置:https://www.codeply.com/go/s90QZLC0WT

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读