欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

CSS Grid网格布局详解于应用

程序员文章站 2022-04-08 18:35:21
...

什么是Grid网格布局?

网格是由一系列水平及垂直的线构成的以一种二维空间布局模式。

常用相关术语

1.网格容器: Grid Container 由若干个矩形网格单元构成
2.网格项目: Grid Item 网格容器的子元素,必须放在网络单元中
3.网格单元: Grid Cell有”单元格”和”网格区域”二种表现形式
4.网格轨道: Grid Track 由多个网格单元组成,根据排列方向有”行轨”和”列轨”之分
5.轨道间距: gap 容器中轨道之间的间距,有”行轨间距”,”列轨间距
6.新单位: fr 设置轨道宽高时用的单位: fr (fraction),类似flex中的伸缩因子
7.隐式轨道: 行高 grid-auto-rows 列宽 grid-auto-columns
8.网格区域: grid-area 设置任何一个项目所在的网格单元的区域. ( 行起始编号 / 列起始编号 / 行结束编号 / 列结束编号 )
9.排列方向: grid-auto-flow: row水平排列 column垂直排列
10.函数: repeat()重复使用多个数值 和 minmax()两个参数,分别为最小值和最大值。

网格GRID例子如下

css代码

display: grid;设置为网格容器

grid-template-columns: 1fr 2fr 1fr; 共3列 第2列是1和3的两倍宽度

grid-template-rows: 6em 6em; 共两行 每行高度6em

gap: 0.5em; 行和列的间隙是0.5em

  1. .container {
  2. /* */
  3. background-color: lightblue;
  4. padding: 0.5em;
  5. display: grid;/
  6. grid-template-columns: 1fr 2fr 1fr;
  7. grid-template-rows: 6em 6em;
  8. gap: 0.5em;
  9. }

HTML代码

  1. <div class="container">
  2. <div class="item">item1</div>
  3. <div class="item">item2</div>
  4. <div class="item">item3</div>
  5. <div class="item">item4</div>
  6. <div class="item">item5</div>
  7. <div class="item">item6</div>
  8. </div>

演示图

CSS Grid网格布局详解于应用


item4 显示第一区域

  1. .item:nth-of-type(4) {
  2. background-color: lightpink;
  3. grid-area: 1 / 1 / 2 / 2; /* 行起始编号 / 列起始编号 / 行结束编号 / 列结束编号 */
  4. }

CSS Grid网格布局详解于应用

item4 显示第一区域且占用2列

  1. .item:nth-of-type(4) {
  2. background-color: lightpink;
  3. grid-area: 1 / 1 / 2 / 3; /* 行起始编号 / 列起始编号 / 行结束编号 / 列结束编号 */
  4. }

CSS Grid网格布局详解于应用

item6 超出两行排列 形成隐式轨道,让我们设置它的高度为10em

  1. .container {
  2. grid-auto-rows: 10em;
  3. }

CSS Grid网格布局详解于应用