如何让我的面板将屏幕填满页脚?

时间:2018-06-05 13:54:08

标签: css html5 css3 bootstrap-4

我希望我的面板占据所有屏幕直到页脚即使面板为空。 如果面板已填满,我想滚动查看内容,但页脚应始终显示在页面底部。 你有个主意吗? 这是代码:

.list_mobile .footer {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 60px;
  background: lightskyblue;
  color: darkred;
}
<div class="row">
  <div class="col-xs-12 col-sm-12 col-lg-12 mg-tp-xs">
    <div class="panel panel-danger" style="overflow :scroll">
      <div class="panel-heading">
        <h4 class="panel-title">
          <span>Result</span>
        </h4>
      </div>
      <div class="panel-collapse">
        <div class="panel-body">
          <p>test</p>
        </div>
      </div>
    </div>
  </div>
</div>

<div class="list_mobile">
  <footer class="footer">
    <div class="container">
      <h4>number of results : 55 </h4>
    </div>
  </footer>
</div>

1 个答案:

答案 0 :(得分:2)

Bootstrap已删除*-xs-*个类的所有变体。而不是col-xs-12,而是使用col-12。由于所有尺寸的列都是100%,因此使用col-12就足够了。

  1. 使用 d-flex flex-column h-100 作为该行的父级。
  2. 对该行使用 flex-grow-1
  3. 行的所有父母必须有100%的身高,包括身体和html。
  4. col-12 panel 的身高必须为100%
  5. 使用 row 作为页脚。
  6. 请勿更改footer的位置:删除position: absolute; bottom: 0;right: 0;
  7. &#13;
    &#13;
    html,
    body {
      height: 100%;
    }
    &#13;
    <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.1/css/bootstrap.css" rel="stylesheet"/>
    <div class="container-fluid d-flex flex-column h-100 bg-primary">
      <div class="row flex-grow-1">
        <div class="col-12  bg-danger h-100">
          <div class="panel panel-danger h-100">
            <div class="panel-heading">
              <h4 class="panel-title">
                <span>Result</span>
              </h4>
            </div>
            <div class="panel-collapse">
              <div class="panel-body">
                <p>test</p>
              </div>
            </div>
          </div>
        </div>
      </div>
    
      <div class="row">
        <footer class="col-12 footer">
          <div class="container">
            <h4>number of results : 55 </h4>
          </div>
        </footer>
      </div>
    </div>
    &#13;
    &#13;
    &#13;

    您可以使用container代替container-fluid 。它没有任何区别。如果您这样做,请删除页脚中的容器。

    &#13;
    &#13;
    html,
    body {
      height: 100%;
    }
    &#13;
    <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.1/css/bootstrap.css" rel="stylesheet"/>
    <div class="container d-flex flex-column h-100 bg-primary">
      <div class="row flex-grow-1">
        <div class="col-12  bg-danger h-100">
          <div class="panel panel-danger h-100">
            <div class="panel-heading">
              <h4 class="panel-title">
                <span>Result</span>
              </h4>
            </div>
            <div class="panel-collapse">
              <div class="panel-body">
                <p>test</p>
              </div>
            </div>
          </div>
        </div>
      </div>
    
      <div class="row">
        <footer class="col-12 footer">
            <h4>number of results : 55 </h4>
        </footer>
      </div>
    </div>
    &#13;
    &#13;
    &#13;