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

w3school介绍的超级详细

跟着敲了一遍……

浏览器兼容问题:
display:grid的基本使用、行和列的基本设置、间距、行列宽高_第1张图片

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

display:grid的基本使用、行和列的基本设置、间距、行列宽高_第2张图片

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">1div>
  <div class="grid-item">2div>
  <div class="grid-item">3div>  
  <div class="grid-item">4div>
  <div class="grid-item">5div>
  <div class="grid-item">6div>  
  <div class="grid-item">7div>
  <div class="grid-item">8div>
  <div class="grid-item">9div>  
div>
<p>请使用 <em>grid-column-gapem> 属性调整列之间的空间。p>
<p>请使用 <em>grid-row-gapem> 属性调整行之间的空间。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;
}

display:grid的基本使用、行和列的基本设置、间距、行列宽高_第3张图片

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;
}

display:grid的基本使用、行和列的基本设置、间距、行列宽高_第4张图片

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;
}

display:grid的基本使用、行和列的基本设置、间距、行列宽高_第5张图片


fr的使用

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

  <div class="list">
    <div class="list-item">找到了自我div>
    <div class="list-item">这是一篇你看不懂的文章div>
    <div class="list-item">OK Finediv>
  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时候、内容会自动分配所占空间。
display:grid的基本使用、行和列的基本设置、间距、行列宽高_第6张图片

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

使用fr

grid-template-columns: 1fr 1fr;

display:grid的基本使用、行和列的基本设置、间距、行列宽高_第7张图片

你可能感兴趣的:(HTML+css+js基本知识,css,html,grid)