grid 布局学习

grid 布局学习

grid-template-columns 设置列宽

// 设置表格为列宽为 100px 而且有三列
grid-template-columns: 100px 100px 100px;

// 设置表格行高为 200px 自动补齐
grid-template-rows: repeat(auto-fill, 200px);

在这里插入图片描述

grid-template-columns设置行高

grid中还有一个跟 flex: 1 差不多的 css样式, 就是 fr

// 表格列宽分别占表格的 1份,2份,3份
grid-template-columns: 1fr , 2fr , 3fr;
// 表格列表被平均分成 4份
grid-template-columns: repeat(3, 1fr);

在这里插入图片描述

minmax(min,max)函数 最大值跟最小值

//  第一列列宽占表格的一份,第二列列宽最小值为 100px 最大值为 表格的两份
grid-template-columns: 1fr minmax(100px, 2fr);

在这里插入图片描述

auto 属性
// 第一列宽为 200px 第二列为占满剩余宽度 第三列为200px
grid-template-columns: 200px auto 200px;

在这里插入图片描述

定义网格线

网格线,使用 [“自定义命名”] 定义网格线名称,方便以后给盒子定位使用.

grid-complate-cloumns: [g1] 100px [g2] 100px [g3] 100px [g4]

gap / column-gap / row-gap 间隔

设置里面单元格之间的间隔

gap = column-gap + row-gap; 混合属性
grid-template-gap: repeat(3,1fr);
// 列宽间距为 20px
cloumn-gap: 20px;
// 行高间距为 30px
row-gap:30px;

在这里插入图片描述

grid-template-areas 定义区域展示效果

// index.css   

	.grid-box {
        width: 1000px;
        height: 600px;
        display: grid;
		// 规定一片区域,并且按照想要的摆放顺序来展现
        // 区域的命名会影响到网格线,
        // 每个区域的起始网格线为 [区域名] + start
        // 终止网格线命名为 [区域名] + end
        grid-template-areas: "header header"
                             "nav main"
                             ". main"		// 不需要使用的区域用 "." 代替
                             "footer footer";

    }
                     
   .header {
   	 	// grid-area 指定区域为 header-start ~ header-end
        grid-area: header;
        background-color: red;
    }
    .nav {
   	 	// grid-area 指定区域为 header-nav ~ header-nav
        grid-area: nav;
        background-color: blue;
    }
    .main {
   	 	// grid-area 指定区域为 header-main ~ header-main
        grid-area: main;
        background-color: green;
    }
    .footer {
   	 	// grid-area 指定区域为 header-footer ~ header-footer
        grid-area: footer;
        background-color: pink;
    }
    // index.html

	<div class="grid-box">
       <div class="header">header</div>
       <div class="nav">nav</div>
       <div class="main">main</div>
       <div class="footer">footer</div>
   	</div>

代码展示效果

在这里插入图片描述

grid-auto-flow 设置容器里面的单元格放置顺序

默认的放置顺序的先行后列:grid-auto-flow: column; 

在这里插入图片描述

可以设置成先列后行: grid-auto-flow: row;

在这里插入图片描述

justify-items(水平方向对齐) / align-item(垂直方向对齐)

设置单元格内容的水平和垂直的对齐方式

display:grid;
justify-items:center;
align-items:center;

在这里插入图片描述

justify-content / align-content 项目水平对齐跟垂直对齐

设置整个内容区域(所有的项目的总和)的水平和垂直的对齐方式

justify-content: center;
align-content: center;

grid-auto-rows / grid-auto-coumns 规定多出来的表格的样式

grid-auto-columns: 100px;
/*grid-auto-rows: 100px;*/

在这里插入图片描述

grid-column-start / grid-column-end grid-row-start / grid-row-end

规定表格的区域位置,用来指定item的具体位置

grid-column-start: 1;
grid-column-end: 3;

========
grid-column: 1/3; // 相当于上面的简写
grid-column-start: 1;  // 设置开始的位置
grid-column-end: span 2; 	// 跨越两格

在这里插入图片描述

图片出处: csdn 默默花上开

gird-area 规定单元格区域

指定项目放在哪一个区域

   .grid-box {
        width: 1000px;
        height: 600px;
        display: grid;
        grid-template-areas: "header header"
                             "nav main"
                             ". main"
                             "footer footer";

    }
    .header {
        
        grid-area: header;
        background-color: red;
    }
    .nav {
        grid-area: nav;
        background-color: blue;
    }
    .main {
        grid-area: main;
        background-color: green;
    }
    .footer {
        grid-area: footer;
      

代码展示效果

在这里插入图片描述

grid-area 还是 grid-row-start / grid-column-start / grid-row-end / grid-column-end 的缩写形式


grid-area: 1/1/4/4;
相当于下面
grid-row-start: 1;
grid-column-start: 1;
grid-row-end: 4;
grid-column-end: 4;

justify-self / align-self / place-self 设置项目的单个属性的对齐方式

在这里插入图片描述
在这里插入图片描述

链接图片出处: CSDN 默默上花开

博客作者:CSDN zheng_jia_jun 完成时间 2022 / 7 / 10
转载请注明出处。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值