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布局的主要内容,如果未能解决你的问题,请参考以下文章