zoukankan      html  css  js  c++  java
  • 布局小技巧集合之——动态列表固定列数固定间距自适应布局

    应用场景

    在我们开发业务的过程中,经常遇到列表显示,并且ui设计是每行固定几个元素跟固定间距,但是因为我们需要根据不同大小的屏幕进行自适应,在不用rem等单位进行自适应的时候,我们在pc端布局,可以使用以下2种方法进行,固定动态列表的固定列数固定间距

    效果图下:数据个数不固定,每行固定4个,元素之间间距为24

     实现方法一

    使用flex布局结合我们的calc动态计算每个元素宽度,以达不同屏幕自适应宽度!!!!

    html

    <div class="list">
       <div class="item" :key="index" v-for="(item, index) in list">
            列表元素
       </div>
    </div>

    css

    .list {
       100%;
      display: flex;
      flex-wrap: wrap;
      .item {
         calc((100% - 24px * 3) / 4); // 一个间距24,总的4个
        height: 28px;
        line-height: 28px;
        margin: 0 24px 24px 0;
        border: 1px solid #ccc;
        text-align: center;
      }
      .item:nth-of-type(4n) {
        margin-right: 0;
      }
    }

    实现方法二

    可以利用padding属性结合element-ui栅格栏布局进行

    html

    <div class="list">
       <div class="item" :key="index" v-for="(item, index) in list">
           <div>列表元素</div>
        </div>
     </div>

    css

    .list {
       100%;
      display: flex;
      flex-wrap: wrap;
      .item {
         25%;
        height: 28px;
        line-height: 28px;
        padding-right: 24px;
        margin-bottom: 24px;
        & > div {
          border: 1px solid #ccc;
          text-align: center;
        }
      }
      .item:nth-of-type(4n) {
        padding-right: 0;
      }
    }
  • 相关阅读:
    每天一个linux命令(22):find 命令的参数详解
    在gitlab中创建项目后如何用git初始上传项目
    TensorBoard可视化
    docker CMD 和 ENTRYPOINT 区别
    django 项目开发及部署遇到的坑
    nginx + uwsgi 部署django项目
    centos7 追加python3 + 使用pip + virtualenv
    docker 常用命令
    Django+celery+rabbitmq实现邮件发送
    web框架链接
  • 原文地址:https://www.cnblogs.com/qdlhj/p/14314274.html
Copyright © 2011-2022 走看看