Flexbox: 4 items per row

前端 未结 9 1170
南笙
南笙 2020-11-22 13:01

I\'m using a flex box to display 8 items that will dynamically resize with my page. How do I force it to split the items into two rows? (4 per row)?

Here is a releva

9条回答
  •  旧时难觅i
    2020-11-22 13:34

    I would do it like this using negative margins and calc for the gutters:

    .parent {
      display: flex;
      flex-wrap: wrap;
      margin-top: -10px;
      margin-left: -10px;
    }
    
    .child {
      width: calc(25% - 10px);
      margin-left: 10px;
      margin-top: 10px;
    }
    

    Demo: https://jsfiddle.net/9j2rvom4/


    Alternative CSS Grid Method:

    .parent {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      grid-column-gap: 10px;
      grid-row-gap: 10px;
    }
    

    Demo: https://jsfiddle.net/jc2utfs3/

提交回复
热议问题