首页 前端知识 教你CSS Grid布局实现响应式设计

教你CSS Grid布局实现响应式设计

2024-05-08 10:05:05 前端知识 前端哥 521 428 我要收藏

grid-template-columns的3个值表示三列,相应的数值表示列宽即都为100px。

grid-template-rows的2个值表示两行,相应的数值表示行高即都为50px

月薪80k前端大佬教授CSS Grid布局,实现响应设计,错过后悔系列.jpg

可以变化一下行高跟列宽的值看下效果,代码:

.wrapper { display: grid; grid-template-columns: 200px 50px 100px; grid-template-rows: 100px 30px; }

月薪80k前端大佬教授CSS Grid布局,实现响应设计,错过后悔系列.jpg

新建一个前端学习qun438905713,在群里大多数都是零基础学习者,大家相互帮助,相互解答,并且还准备很多学习资料,欢迎零基础的小伙伴来一起交流。

放置 items(子元素)

=================

我们使用与之前相同的 HTML 标记,为了帮助我们更好的理解,我们在每个 items(子元素) 加上了单独的 class :

1 2 3 4 5 6

创建一个 3×3 的 grid(网格):

.wrapper { display: grid; grid-template-columns: 100px 100px 100px; grid-template-rows: 100px 100px 100px; }

月薪80k前端大佬教授CSS Grid布局,实现响应设计,错过后悔系列.jpg

在页面上看到 3×2 的 grid(网格),而我们定义的是 3×3 的 grid(网格)。这是因为我们只有 6 个 items(子元素) 来填满这个网格。如果我们再加3个 items(子元素),那么最后一行也会被填满。 定位和调整(item)子元素大小

定位和调整 items(子元素) 大小,我们将使用 grid-column 和 grid-row 属性来设置:

.item1 { grid-column-start: 1; grid-column-end: 4; }

当然可以有简写方式:

.item1 { grid-column: 1 / 4; }

上面代码意思就是: item1 占据从第一条网格线开始,到第四条网格线结束。显示效果如下:

月薪80k前端大佬教授CSS Grid布局,实现响应设计,错过后悔系列.jpg

如果你不明白我们设置的只有 3 列,为什么有4条网格线呢?看看下面这个图像,黑色的列网格线你就明白了:

月薪80k前端大佬教授CSS Grid布局,实现响应设计,错过后悔系列.jpg

如果上面的看懂了,来个复杂点的巩固下。

.item1 { grid-column-start: 1; grid-column-end: 3; } .item3 { grid-row-start: 2; grid-row-end: 4; } .item4 { grid-column-start: 2; grid-column-end: 4; }

效果如图:

月薪80k前端大佬教授CSS Grid布局,实现响应设计,错过后悔系列.jpg

响应式布局例子

实现如图效果:

月薪80k前端大佬教授CSS Grid布局,实现响应设计,错过后悔系列.jpg

结构布局

HEADER MENU CONTENT FOOTER

使用 grid-template-columns 属性创建一个 12 列的网格,每个列都是一个单位宽度(总宽度的 1/12 )。(愚人码头注:其中, repeat(12, 1fr) 意思是 12 个重复的 1fr 值。 fr 是网格容器剩余空间的等分单位。)

使用 grid-template-rows 属性创建 3 行,第一行高度是 50px ,第二行高度是 350px 和第三行高度是 50px。

使用 grid-gap 属性在网格中的网格项之间添加一个间隙。

最后

为了帮助大家更好的了解前端,特别整理了《前端工程师面试手册》电子稿文件。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

转载请注明出处或者链接地址:https://www.qianduange.cn//article/7494.html
标签
评论
发布的文章

Pycharm创建json文件类型

2024-05-12 00:05:50

C#Post请求,带json参数。

2024-05-12 00:05:28

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!