css实现三列等宽等间距排列(九宫格)

276 阅读1分钟

截屏2022-11-19 下午9.15.20.png

float

设置浮动和外间距

每个方块设置左浮动,宽度30%,左外间距2.5%。

100%=(2.5%+30%)+(2.5%+30%)+(2.5%+30%)+2.5%

代码

.item {
  width: 30%;
  margin-left: 2.5%;
  margin-bottom: 10px;
  background: pink;
  height: 100px;
  float: left;
}

<body>
  <ul class="list">
    <li class="item"></li>
    <li class="item"></li>
    <li class="item"></li>
    <li class="item"></li>
    <li class="item"></li>
    <li class="item"></li>
    <li class="item"></li>
    <li class="item"></li>
    <li class="item"></li>
  </ul>
</body>

width:30%; 表示是父级元素宽度的30%。

flex

display:flex; 将当前元素定义为弹性容器。

.list {
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
}
.item {
  width: 30%;
  margin-left: 2.5%;
  margin-bottom: 10px;
  background: pink;
  height: 100px;
}

<body>
  <ul class="list">
    <li class="item"></li>
    <li class="item"></li>
    <li class="item"></li>
    <li class="item"></li>
    <li class="item"></li>
    <li class="item"></li>
    <li class="item"></li>
    <li class="item"></li>
    <li class="item"></li>
  </ul>
</body>

使用 flex 布局实现需要注意一个点,就是需要用 flex-wrap 属性来使其换行。