grid布局

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了grid布局相关的知识,希望对你有一定的参考价值。

参考技术A 下文用到的图许多出自grid garden,是一个很好玩的grid布局游戏。
它主要规定行和列,用

就可以规定行和列的布局分布,比如说

就代表了分成5行,第一行占有240px,剩下的每行占有120px。
分为两列,各是250px。
通常我们会用grid-gap来确定每个元素中间的空隙。

grid-column-start
grid-column-end
grid-row-start
grid-row-end
通常用这个进行分区。
但是我们可以缩写,用 grid- area:1/2/3/4
就可以代表
grid-row-start:1
grid-column-start:2
grid-row-end:3
grid-column-end:4,注意就是grid是按线来进行分区的,如图所示。

传送门

grid网格布局——色子布局

一、基本概念

样式 含义
grid-area 定义名称
grid-auto-columns 定义列数
grid-auto-flow 定义单元格流动方向(想象水流的样子)
grid-auto-rows 定义行数
grid-column 第几列 / span 合并列数
grid-column-start 第几列
grid-column-end 跨度列
column-gap 列间距
grid-gap 行间距 / 列间距
grid-row 第几行 / 行跨度
row-gap 行间距
grid-row-start 第几行
grid-row-end 跨度
grid-template 定义网格 行 / 列
grid-template-columns 定义网格列数
grid-template-rows 定义网格行数
grid-template-areas 定义区域网格


   
 
  
   
  技术图片

<div class="grid grid1">
    <div class="item" style="grid-area:a"></div>
</div>
 .grid {
            grid-gap: 10px;
            display: grid;
            height: 100px;
            width: 100px;
            background: #fff;
            padding: 15px;
            border-radius: 5px;
            margin-top: 10px;
        }
.grid1 {
            grid-template-areas:
                ". . ."
                ". a ."
                ". . .";
        }

 

  技术图片

 

 

 

.grid2 {
            grid-template-areas:
                ". a ."
                ". . ."
                ". b .";
        }
<div class="grid grid2">
        <div class="item" style="grid-area:a"></div>
        <div class="item" style="grid-area:b"></div>
    </div>

 

技术图片

.grid3 {
            grid-template-areas:
                "a . ."
                ". b ."
                ". . c";
        }
<div class="grid grid3">
        <div class="item" style="grid-area:a"></div>
        <div class="item" style="grid-area:b"></div>
        <div class="item" style="grid-area:c"></div>
    </div>

 

 技术图片

 .grid4 {
            grid-template-areas:
                "a . b"
                ". . ."
                "c . d";
        }
<div class="grid grid4">
        <div class="item" style="grid-area:a"></div>
        <div class="item" style="grid-area:b"></div>
        <div class="item" style="grid-area:c"></div>
        <div class="item" style="grid-area:d"></div>
    </div>

技术图片

 

 

  

<div class="grid grid5">
        <div class="item" style="grid-area:a"></div>
        <div class="item" style="grid-area:b"></div>
        <div class="item" style="grid-area:c"></div>
        <div class="item" style="grid-area:d"></div>
        <div class="item" style="grid-area:e"></div>
    </div>

 

.grid5 {
            grid-template-areas:
                "a . b"
                ". c ."
                "d . e";
        }

技术图片

 

.grid6 {
            grid-template: repeat(3, calc((100px - 20px) / 3)) / repeat(2, calc((100px - 20px) / 3));
            justify-content: space-between;
        }

 

<div class="grid grid6">
        <div class="item"></div>
        <div class="item"></div>
        <div class="item"></div>
        <div class="item"></div>
        <div class="item"></div>
        <div class="item"></div>
    </div>

 

 

以上是关于grid布局的主要内容,如果未能解决你的问题,请参考以下文章

grid布局

前端,能说说你对grid布局的理解吗?

grid布局

css grid 格子布局

关于基本布局之——Grid布局

grid布局