flex布局自定义一行几栏,靠左对齐===grid布局

模板

html 复制代码
 <div class="content">
    <div class="item">1222</div>
    <div class="item">1222</div>
    <div class="item">1222</div>
    <div class="item">1222</div>
    <div class="item">1222</div>
    <div class="item">1222</div>
    <div class="item">1222</div>
    <div class="item">1222</div>
  </div>

样式

css 复制代码
.content {
  width: 70%;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  padding: 30px;
  background-color: skyblue;
  .item {
    /* 去掉两边间隙总60px*/
    flex: 0 0 calc((100% - 60px) / 3);
    height: 120px;
    background-color: pink;
    /* 间隙为30px */
    margin: 0 30px 30px 0;
    &:nth-child(3n) {
      /* 去除第3n个的margin-right */
      margin-right: 0;
    }
    &:nth-last-child(-n + 3) {
      margin-bottom: 0; // 去除最后一行的底部间距
    }
  }
}

使用grid布局

javascript 复制代码
.content {
  width: 80vw;
  margin: auto;
  display: grid;
  /* 设置一行3列 */
  grid-template-columns: repeat(3, 1fr);
  /* 设置间隙为20px */
  grid-gap: 20px;
  padding: 30px;
  background-color: skyblue;
  .item {
    /* 设置高度120px */
    height: 120px;
    background-color: pink;
  }
}

补充:给父盒子添加vw或%单位,否则会失去响应式

**注意:**grid布局子盒子不要给宽度,不然没有自适应了

相关推荐
R_yy7 分钟前
微信小程序开发——视频播放实现(本地视频或者云端视频均可)
前端·微信小程序·小程序
linkcoco9 分钟前
记录h5使用navigator.mediaDevices.getUserMedia录制音视频
前端·javascript·vue·音视频·js
昨日余光18 分钟前
仅需三分钟,使用Vue3.x版本组件式风格实现一个消息提示组件!
前端·javascript·css·vue.js·typescript·html
软件开发技术深度爱好者43 分钟前
验证码介绍及生成与验证(HTML + JavaScript实现)
javascript
容器( ु⁎ᴗ_ᴗ⁎)ु.。oO1 小时前
仿12306购票系统(3)
java·前端
Fri_1 小时前
CSS 实现波浪效果
前端·javascript·css
Y_3_71 小时前
30 分钟从零开始入门 CSS
开发语言·前端·css·人工智能·python·tensorflow
咖啡虫1 小时前
深入理解 DOM 和 CSSOM:网页渲染的核心
javascript
IT、木易1 小时前
大白话css第二章深入学习
前端·css·学习
祈澈菇凉2 小时前
什么是Sass,如何使用?
前端·rust·sass