Flex布局,和position布局,实现上下固定中间部分滚动【另外附上最最最最简单的div滚动法】,以及table的溢出滚动,表头固定

Flex布局实现上下固定中间部分滚动:

<div class="parent">
    <div class="header">header -- 固定</div>
    <div class="content">
      <p>content -- 滚动</p>
      <p>内容部分</p>
      <p>内容部分</p>
      <p>内容部分</p>
      <p>内容部分</p>
        ......
    </div>
    <div class="footer">footer -- 固定</div>
</div>

<style>
  .parent{
    height: 100vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }

  .header {
    width: 100%;
    height: 50px;
    line-height: 50px;
    background: #b6efff;
    text-align: center;
  }

  .content {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
  }

  p {
    height: 70px;
    line-height: 70px;
    border-bottom: 1px solid #ccc;
  }

  .footer {
    height: 50px;
    line-height: 50px;
    background: #b6efff;
  }

</style>

传统布局实现上下固定中间部分滚动:

<div class="parent">
    <div class="top">top</div>
    <div class="center">
      <p>center1</p>
      <p>center2</p>
      <p>center3</p>
      <p>center...</p>
      <p>center.n</p>
    </div>
    <div class="bottom">bottom</div>
</div>

<style>
  * {
    margin: 0;
    padding: 0;
  }

  .parent {
    background: blanchedalmond;
    height: 100vh;
    overflow-y: hidden;
  }

  .top,
  .bottom {
    width: 100%;
    height: 50px;
    line-height: 50px;
    font-size: 18px;
    background: seagreen;
    text-align: center;
    position: fixed;
  }

  .bottom {
    bottom: 0;
  }

  p {
    height: 50px;
    line-height: 50px;
    border: 1px dashed darkcyan;
  }

  .center {
    height: calc(100vh - 100px);
    position: relative;
    top: 50px;
    background: #ccc;
    overflow-y: scroll;
  }
</style>

div区域滚动,最小的改动,最小的入侵,使用calc

不管是flex,不管是position。
设置中间区域的高度,然后中间区域超出之后滚动,而且底部因为被中间区域挤压着,自然会沉底。

table的溢出滚动

 <div  class="table-wrap">
                <el-table :data="tableData" style="width: 100%;height: 100%;" ref="tableRef" @selection-change="handleSelectionChange">
</div>

1.给table一个父级,父级给个固定高度,可以通过calc计算得到
2.给table的高度为100%
3.其他都不需要,表头也固定了

posted @ 2024-02-02 10:47  风意不止  阅读(215)  评论(0编辑  收藏  举报