网格布局

1:基本布局Grid 布局是二维的基于网格的布局系统,它可以同时处理列和行(这是对比flex弹性盒模型布局而言);第一个专门为解决布局问题而生的CSS模块。几个

大家好,今天来为大家解答网格布局这个问题的一些问题点,包括也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~

Grid Container,也叫网格容器,是带有display:grid集合的元素。

.main{ display:grid;}Grid Item,也称为Grid容器成员,是Grid容器下的直接子元素。

Grid Line,Grid容器的行和列的网格线;分为垂直网格线(列网格线)和水平网格线(行网格线)。

网格轨道,两条相邻网格线之间的空间。

Grid Cell,相邻两行和相邻两列网格线之间的空间,基本单位。

网格区域,由四条网格线包围的总空间,可以由任意数量的网格单元组成。

网格布局

2:浏览器兼容

3:Grid容器 (Grid Container) 属性

常用属性有14个:

显示,分为grid(块级网格)和inline-grid(行级网格)。 } .main { display: 内联网格; }grid-template-columns/rows,定义网格行和列。main{ grid-template-columns: [网格线名称] 网格轨道大小. grid-template-rows: [网格线名称] 网格轨道大小.} 基本语法.main { display: grid; grid -template-columns: [columns-1] 100px [columns-2] 200px 自动; grid-template-rows: [rows-1] 100px [rows-2] 200px;} 2. 重复

.main { 显示: 网格;网格模板列: 重复(4, 100px [列]) 自动; grid-template-rows: Repeat(4, 100px [rows]);} 3.空闲空间,给定比例,自由分配空间

.main { 显示: 网格;网格模板列: 100px 1fr 3fr; grid-template-rows: 100px 1fr 3fr;} grid-template-areas (定义网格模板).header { grid-area: header;背景: #8A469B;}。左{ grid-area: 左; background: #EA7F26;}.right { grid-area: 右; background: #EA7F26;}.footer { grid-area: 页脚;背景: #8A469B;}.main { height: 500px;显示:格; //垂直分为5个grid-template-columns: 100px 100px auto 100px 100px; //水平分为3行grid-template-rows: 100px auto 100px; grid-template-areas: ‘标题标题标题标题”左左。 right’ ‘footer footer footer footer footer’;}grid-template(grid-template-rows、grid-template-column、grid-template-areas 的缩写).main { height: 500px;显示:格; grid-template: [title-left] ‘标题标题’ 80px [title-right] [content-left] ‘左内容内容’ 1fr [content-right] [footer-left] ‘左页脚页脚’ 80px [footer-right ]/120px 1fr 120px;}grid -column/row-gap(网格线的宽度/高度).main { display: grid;网格模板列: 100px 200px 自动;网格模板行: 100px 200px;网格列间隙: 20px; grid-row-gap: 20px;}grid-gap(网格线宽度/高度的缩写形式).main { display: grid;网格模板列: 100px 200px 自动;网格模板行: 100px 200px; grid-gap: 20px 30px;}justify-items(元素在Grid Cell横轴上的对齐方式,前提是元素小于Grid Cell尺寸),它一共有4个值:start 、结束、居中、拉伸(默认);使用stretch时,需要去掉元素Width,否则无效。main { 显示: 网格; justify-items: start;}align-items(元素在Grid Cell纵轴上的对齐方式),与上面的justify-item相同,也有相同的四个属性值。main { 显示: 网格; align-items: start;}justify-content(Grid Cell在横轴上的对齐方式),一共有7个值:start、end、center、stretch、space-around、space- Between、space-evenly。main { 显示: 网格; justify-content: start;}align-content(Grid Cell在纵轴上的对齐方式),同上。main { 显示: 网格; align-content: start;}grid-auto-columns/rows(自动生成网格(隐式),场景:当网格溢出时,子元素超出父元素) 基本语法

网格布局

.main { 显示: 网格; grid-auto-columns: 网格轨道大小. grid-auto-rows: 网格轨道大小.} 有两种使用情况:不指定grid-auto-columns 和指定grid-auto-columns。

grid-auto-flow(自动放置Grid容器成员,前提是未指定grid-template-areas,且未指定每个元素的放置方式),它有三个值:row(按行填充)、column (按列填充),密集(按照最小剩余空间填充)。 main { display: grid; grid-auto-flow: row;} grid(模板行、模板列、模板区域、自动行、自动列、自动流缩写).main { grid: [row1-start] ‘header header header’ 1fr [row1-end] [row2-start] ‘footer footer footer’ 25px [row2-end]/auto 50px auto;}

4:Grid容器成员 (Grid Item) 属性

常用属性有9个:

grid-column-start/end(根据网格线确定Grid Item位置),它有四个值:number、name、span number(跨越多少条网格线)、span name(跨越到哪个grid) )。main { 显示: 网格;网格模板列: 100px 100px 100px; grid-template-rows: 100px 100px 100px;}.item { grid-column-start: 2; grid-column-end: span 4;}grid-row-start/end(根据网格线确定网格项位置).main { display: grid;网格模板列: 100px 100px 100px; grid-template-rows: 100px 100px 100px;}.item { grid-row-start: 跨度2; grid-row -end: 4;}grid-column/row(grid-column/row-start/end 缩写).main { display: grid;网格模板列: 100px 100px 100px;网格模板行: 100px 100px 100px; }.item { grid-column: 跨度2/4; grid-row: 1/4;}grid-area(创建区域),分为两种情况:命名引用和直接定义。命名参考

用户评论

网格布局
嗯咯

刚学 CSS 做网页布局,Grid 觉得超级强大!比 Flex 还好用多了,能控制每个元素的位置和尺寸都非常精确,而且布局美观大方!

    有20位网友表示赞同!

网格布局
蔚蓝的天空〃没有我的翅膀

之前一直用 FlexBox 布局页面,最近开始学习 Grid, 感覺真的太棒了!特别适合复杂的多列布局,可以自定义每一行的内容占比,简直是梦寐以求的布局神器!

    有10位网友表示赞同!

网格布局
西瓜贩子

Grid 布置确实很强大,但对于初学者来说还是比较难上手,文档看得头晕。希望能够找到一些更加直观的学习资源,例如图文解说或者视频教程。

    有14位网友表示赞同!

网格布局
一生荒唐

我还在为 Grid 排版模式发愁呢!感觉官方文档解释太深奥了,不知道如何才能控制多个元素跨行排列?

    有6位网友表示赞同!

网格布局
景忧丶枫涩帘淞幕雨

学了好一番功夫,终于把一个复杂的页面用 Grid 布局完成啦,真是太开心了!之前想做这种效果,还得折腾很多步骤!Grid 简直就是网页布局的救星呀!

    有9位网友表示赞同!

网格布局
单身i

虽然 Grid 布局非常强大,但是学习成本还是挺高的。希望以后能出现更多简化的工具或组件,方便初学者快速上手 Grid 布局设计复杂页面。

    有18位网友表示赞同!

网格布局
关于道别

感觉 Grid 布局比 Flexbox 要更强大一些,可以实现更加复杂的布局形式。而且 Grid 的文档也比 Flexbox 更详细。

    有19位网友表示赞同!

网格布局
凝残月

想用 Grid 布局做一个三列图片展示页面,结果发现怎么都无法控制完美的分栏宽度和间距?

    有17位网友表示赞同!

网格布局
轨迹!

我终于理解了 Grid 布局的强大之处!它可以自由控制每一单元格的大小和位置,比 Flexbox 更灵活。我现在就可以轻松设计各种复杂的网页布局!

    有6位网友表示赞同!

网格布局
oО清风挽发oО

感觉用 Grid 布局做复杂布局的时候,代码会变得很长很繁琐,是不是还有其他更简捷的方式呢?

    有15位网友表示赞同!

网格布局
傲世九天

Grid 布局确实很强大,但是如果项目没有特别需要使用它的复杂情况,我认为 FlexBox 或许更加简单易用。

    有18位网友表示赞同!

网格布局
余温散尽ぺ

对于图片页面或者资讯内容页面的布局,我感觉 Grid 效率比 flexbox 要高很多,能快速划分出每一部分,整齐有序!

    有16位网友表示赞同!

网格布局
来自火星球的我

希望以后能够学习更多 Grid 布局的技巧和案例,例如如何实现水平和垂直滚动条结合等等。

    有11位网友表示赞同!

网格布局
蹂躏少女

学习了 Grid 布局后,感觉 CSS 的能力提升了很多,网页制作不再那么枯燥了!期待更牛逼的设计工具出现。

    有7位网友表示赞同!

网格布局
矜暮

Grid 布局确实很有潜力,但目前应用场景还比较有限。希望以后更多开发者探索它更大的可能性!

    有7位网友表示赞同!

网格布局
坠入深海i

我现在正在做一个电商网站,想要用 Grid 布局来实现商品列表的展示。请问有什么好的教程可以参考一下?

    有18位网友表示赞同!

网格布局
夏至离别

Grid 布局的确非常强大,但是对于一些跨浏览器的兼容性问题,我还需要花时间去解决呀!

    有14位网友表示赞同!

原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/125862.html

(0)
小su's avatar小su
上一篇 2024年9月1日 下午8:37
下一篇 2024年9月1日 下午8:39

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注