flex布局之一行显示4个,如果多于4个,自动换行(只能4个 )

<div style="display: flex; justify-content: space-between; flex-wrap: wrap; ">
        <div class="item" style="background-color: aliceblue;"></div>
        <div class="item" style="background-color: antiquewhite;"></div>
        <div class="item" style="background-color: aqua;"></div>
        <div class="item" style="background-color: black;"></div>
        <div class="item" style="background-color: blueviolet;"></div>
        <div class="item" style="background-color: chartreuse;"></div>
        <div class="item" style="background-color: crimson;"></div>
    </div>

    <style>
        .item{
          color: black;
          flex: 0 0 24%; 
          height: 30px; 
          text-align:center;
          line-height:30px;
          background-color: white;
          /* 边距懒得算,css函数代替 */ 
          margin-right: calc(4% / 3); 
          margin-bottom: calc(4% / 3); 
        } 
        /* 去除每行尾的多余边距 */
        .item:nth-child(4n){ 
          margin-right: 0; 
        } 
        /* 使最后一个元素的边距填满剩余空间 */
        .item:last-child{ 
          margin-right: auto; 
        } 
    
    </style>

posted @ 2024-08-01 10:51  林财钦  阅读(1432)  评论(0编辑  收藏  举报