display:grid的基本使用、行和列的基本设置、间距、行列宽高

w3school介绍的超级详细

跟着敲了一遍……

浏览器兼容问题:
在这里插入图片描述

  • 两边对齐可以选择宫格化布局。

在这里插入图片描述

<!DOCTYPE html>
<html>
<head>
<style>
.grid-container {
  display:grid;
  /* grid-gap: 30px 50px */
  grid-column-gap:30px;
  grid-row-gap: 50px;
  /* 一行放两列、两个auto */
  grid-template-columns: auto auto;
  background-color: palevioletred;
  padding: 10px;
}

.grid-item {
  background-color: #fff;
  border: 1px solid #999;
  padding: 20px;
  font-size: 30px;
  text-align: center;
}
</style>
</head>
<body>
<div class="grid-container">
  <div class="grid-item item1">1</div>
  <div class="grid-item">2</div>
  <div class="grid-item">3</div>  
  <div class="grid-item">4</div>
  <div class="grid-item">5</div>
  <div class="grid-item">6</div>  
  <div class="grid-item">7</div>
  <div class="grid-item">8</div>
  <div class="grid-item">9</div>  
</div>
<p>请使用 <em>grid-column-gap</em> 属性调整列之间的空间。</p>
<p>请使用 <em>grid-row-gap</em> 属性调整行之间的空间。</p>
</body>
</html>


属性的简单介绍

1.grid-column-gap

grid-column-gap 属性设置列之间的间隙:

2. grid-row-gap

grid-row-gap 属性设置行之间的间隙:

3. grid-gap

grid-gap 属性是 grid-row-gapgrid-column-gap 属性的简写属性:

.grid-container {
  display: grid;
  grid-gap: 30px 50px;
  /*grid-column-gap:30px;
  grid-row-gap: 50px;*/
}

4. grid-column 属性:

grid-column 属性定义将项目放置在哪一列上。您可以定义项目的开始位置以及结束位置。

注释:grid-column 属性是 grid-column-startgrid-column-end 属性的简写属性。
如需放置某个项目,您可以引用行号(line numbers),或使用关键字 “span” 来定义该项目将跨越多少列。

  • 使 “item1” 从第 1 列开始并在第 5 列之前结束:
.item1 {
  grid-column: 1 / 5;
}

在这里插入图片描述

5. grid-row属性

grid-row 属性定义了将项目放置在哪一行。

注释:grid-row 属性是 grid-row-startgrid-row-end 属性的简写属性。
如需放置项目,您可以引用行号,或使用关键字 “span” 定义该项目将跨越多少行:

使 “item1” 在 row-line 1 开始,在 row-line 4 结束:

.item1 {
  /* grid-column: 1 / 5; */
  grid-row: 1 / 5;
}

在这里插入图片描述

6.grid-template-columns 属性

  • grid-template-columns 属性定义网格布局中的列数,并可定义每列的宽度
  • 该值是以空格分隔的列表,其中每个值定义相应列的长度。
  • 如果您希望网格布局包含 4 列,请指定这 4 列的宽度;如果所有列都应当有相同的宽度,则设置为 "auto"

两个auto就是一行放两个且等宽。

 grid-template-columns: auto auto;

7.grid-template-rows 属性

grid-template-rows 属性定义每列的高度。

.grid-container{
	grid-template-rows: 50px 100px 150px;
}

在这里插入图片描述


fr的使用

MDN介绍
在这里插入图片描述

  <div class="list">
    <div class="list-item">找到了自我</div>
    <div class="list-item">这是一篇你看不懂的文章</div>
    <div class="list-item">OK Fine</div>
  </div>
.list {
  margin-top: 20px;
  display: grid;
  grid-template-columns: auto auto;
  .list-item {
    padding: 15px 20px;
    text-align: center;
    border: solid 1px silver;
  }
}

使用auto时候、内容会自动分配所占空间。
在这里插入图片描述

备注: fr单位分配的是可用空间而非所有空间,所以如果某一格包含的内容变多了,那么整个可用空间就会减少,可用空间是不包括那些已经确定被占用的空间的。

使用fr

grid-template-columns: 1fr 1fr;

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值