美文网首页
Flex布局实现上下固定中间部分滚动

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

作者: Wendy__Smile | 来源:发表于2020-08-13 09:02 被阅读0次

    flex 布局简介在上一篇可以找到,不再赘述。
    此篇主要介绍使用Flex布局、传统的 position 布局如何解决上下固定中间部分滚动,工作之余写了个demo,直接上代码。

    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>
    

    相关文章

      网友评论

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

          本文链接:https://www.haomeiwen.com/subject/gtfmdktx.html