本帖最后由 唐三是反派 于 2023-3-13 11:25 编辑
一、开启栅格布局(display:grid)–父容器
栅格布局能将网页分成简单的行和列;Grid(网格)模块为 display 属性提供了一个新的值:grid。
当你将任何元素的 display 属性设置为 grid 时,那么这个元素就是一个网格容器(grid container),他的所有直接子元素就成了网格项(grid items);如下:.box 容器下 .box>div 就称之为网格项
- <div class="box">
- <div>1</div>
- <div>2</div>
- <div>3</div>
- <div>4</div>
- <div>5</div>
- <div>6</div>
- <div>7</div>
- <div>8</div>
- <div>9</div>
- </div>
复制代码 二、配置行和列(grid-template-rows/grid-template-columns)–父容器
- .box{
- display: grid;
- /* 属性值的个数就是行/列数,具体数值即为对应行高/列宽 */
- grid-template-rows: 200px 200px 200px;
- grid-template-columns: 200px 200px 200px;
- }
复制代码
fr: 网格布局定义的一个新单位,可以帮助我们摆脱计算百分比,并将可用空间按比例分配;(需要确定容器的宽度,等分是按照父元素的宽高去计算)
- .box{
- display: grid;
- width:600px;
- height:600px;
- /* 属性值的个数就是行/列数,具体数值即为对应行高/列宽所占的份数 */
- grid-template-rows: 1fr 1fr 1fr;
- grid-template-columns: 1fr 1fr 1fr;
- }
复制代码
等分可以有更加简洁的写法,官方提供了 repeat () 函数 - .box{
- display: grid;
- /* 第一个参数是迭代次数,第二个参数是要重复的值。 */
- grid-template-rows: repeat(3, 1fr);
- grid-template-columns: repeat(3, 1fr);
- }
复制代码
手动给元素子元素添加颜色 - .box>div:nth-child(1) {
- background-color: blue;
- }
- .box>div:nth-child(2) {
- background-color: green;
- }
- .box>div:nth-child(3) {
- background-color: pink;
- }
- .box>div:nth-child(5) {
- background-color: blueviolet;
- }
- .box>div:nth-child(7) {
- background-color: palevioletred;
- }
- .box>div:nth-child(9) {
- background-color: yellowgreen;
- }、
复制代码
|