CSS-网格布局-grid

1.CSS网格布局的概念

CSS网格布局擅长于将一个页面划分为几个主要区域,以及定义这些区域的大小、位置、层次等关系(前提是HTML生成了这些区域)

2.如何使用

2.1.直接上例子

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <style>
    .wrapper {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      grid-gap: 10px;
      grid-auto-rows: minmax(100px, auto);
    }
    .one {
      grid-column: 1 / 3;
      grid-row: 1;
      border: blue solid 5px;
    }
    .two {
      grid-column: 2 / 4;
      grid-row: 1 / 3;
      border: blue solid 5px;
    }
    .three {
      grid-row: 2 / 5;
      grid-column: 1;
      border: blue solid 5px;
    }
    .four {
      grid-column: 3;
      grid-row: 3;
      border: blue solid 5px;
    }
    .five {
      grid-column: 2;
      grid-row: 4;
      border: blue solid 5px;
    }
    .six {
      grid-column: 3;
      grid-row: 4;
      border: blue solid 5px;
    }
  </style>
</head>
<body>
<div class="wrapper">
  <div class="one">One</div>
  <div class="two">Two</div>
  <div class="three">Three</div>
  <div class="four">Four</div>
  <div class="five">Five</div>
  <div class="six">Six</div>
</div>
</body>
</html>

结果如图:
在这里插入图片描述

2.2.关键问题

  • 问题1:怎么创建一个网格?
    答:在父级元素创建网格,这个例子中在class="wrapper"的div中创建的网格,具体代码和解释如下:
.wrapper {
      display: grid;    /* 定义该dom元素为网格布局 */
      grid-template-columns: repeat(3, 1fr);  /* 创建3列网格[1] */
      grid-gap: 10px;     /* 每个网格的间隙为10px */
      grid-auto-rows: minmax(100px, auto);  /* 这里行数是根据后面子级div的需要自动生成的,每行的行高为至少为100px,最高位auto */
    }

总的来说,这个父级div就是一个3个同等大小的列和行数不确定的网格;那么行数怎么确定呢?

  • 问题2:行数怎么确定呢?
    答:grid-auto-rows [2] 这个属性不能确定多少行,只能确定每行的行高;需要用到grid-template-rows ,可以确定行高和多少行
  • 问题3:还有哪些参数?
    答:参数有很多,上面的例子还有很多参数我都没讲,建议参考MDN文档

3.参考文档

【1】repeat(3, 1fr)和fr是什么?
【2】grid-auto-rows

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值