Grid布局

本文深入探讨CSS Grid布局,包括基本概念、容器属性(如grid-template-columns/rows, grid-gap, grid-template-areas)和项目属性(如grid-column/row, grid-area)。通过实例解析各项属性的用法,帮助开发者掌握这一强大的二维布局工具。" 115901100,1246606,ICONICS日志配置到数据库实战指南,"['数据库', '日志配置', '组态软件', '数据连接', '实时监控']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Grid布局

1.1 基本概念

容器和项目

在这里插入图片描述

现在我们来拓展一下

在这里插入图片描述

再来看看网格线

在这里插入图片描述

1.2 容器(container)属性

顾名思义,就是写在容器上的属性,有下列这些

在这里插入图片描述

grid-template-columns%grid-template-rows

最重要的两个属性,用于指定你想要一个容器里面有多少行多少列,并填写对应的属性值的个数

例如:grid-template-columns: 100px 100px 100px;

grid-template-rows: 100px 100px 100px 100px;

上面两段代码等价于

grid-template-columns: repeat(3,100px);

grid-template-rows:repeat(4,100px);

那么效果就会如下图

在这里插入图片描述

  • repeat()还可以这样用: repeat(auto-fill,xxx px):这个就代表自动填充,每个盒子的高度(宽度)是xxx px,直到填满这个盒子的行(列)为止
  • fr (fraction),为了方便表示比例关系,我们直接举例: grid-template-columns: repeat(4,1fr);这个写法等价于grid-template-columns: 1fr 1fr 1fr 1fr;
    • 上面的例子表示item的宽度平均分为4等分
  • minmax(最小值,最大值): 这个也是写在grid-template-xx的属性里面的,当我们的页面是自适应的时候,我们就可以让某个item的宽度或高度的范围限定起来 . 例如: grid-template-columns: 1fr minmax(150px,1fr) 1fr 1fr;
    • 那么中间这个盒子是可以自适应的,最小150px
  • auto, 浏览器自己来决定item的宽度或高度
  • 网格线: 可以用方括号定义网格线名称,方便后续的引用, 网格线是帮助定位用的
    • 例如: grid-template-columns: [C1] 1fr [C2] 1fr [C3] 1fr [C4] 1fr [C5] ;

grid-row-gap&grid-column-gap & grid-gap

一句话解释就是,item之间的距离

  • 重点! 就是这三个属性的grid前缀都被删除了,这是最新标准

在这里插入图片描述

grid-template-areas

在这里插入图片描述

gird-auto flow

在这里插入图片描述

相关: 这个属性后面可以跟dense属性,这样排列的方式就会发生变化,会合理利用排不下的空间

justify-items(水平方向)和align-items(垂直方向)和place-items

他是对item里面的内容进行调整, 例如将item里面的文字居中啥的

在这里插入图片描述

space-items就是对前面两者的合并,没什么好说的

justify-content(水平方向)和align-content(垂直方向)和place-content

content就是容器里面的内容,他包括了所有的item

这个属性就是对内容整体进行调整,往往以行或列为单位

在这里插入图片描述

place-content就不解释了,有手就行

grid-auto-columns &grid-auto-rows

用来设置多出来的宽和高

在这里插入图片描述

  • rows定义的是项目的高度,columns定义的是项目的宽度

1.3 项目(item)属性

我们看看有哪些定义在项目里面的css属性

在这里插入图片描述

grid-column-start&grid-column-end&grid-row-start&grid-row-end&grid-column & grid-row

在这里插入图片描述

注意: 如果我们原本设定的item的宽度和我们在这里定义的宽度不一样的话,那么剩下的属性就会强制采用这个属性的宽度,同时其他item的布局会受到影响(被撑开换行)

同时我们要注意规划好,不要让我们设定的item重叠了,不然会盒子就会被挤出去

  • 上面的grid-column-start: 1; grid-column-end: 3;可以简写为grid-column: 1/ 3;
  • 上面的还可以写成grid-column-start: span 2;但是不推荐,不够精确

grid-area

在这里插入图片描述

下面这个很好用,强烈推荐!!!

在这里插入图片描述

justify-self & align-self & place-self

用法和前面的justify-items和align-items完全一致

两者的区别是

  1. 这个是定义在item里面的,另一个是定义在container里面的
  2. xxx-items是为了给所有的item做一个整体的样式规定,而xxx-self就是用于自己身上的,比较单一,它可以覆盖xxx-item的样式
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值