CSS Grid 布局学习笔记
CSS Grid 布局学习笔记
好久没有写博客了, MDN 上关于 Grid 布局的知识比较零散, 正好根据我这几个月的实践对 CSS Grid 布局做一个总结, 以备查阅.
1. 基础用法
Grid 布局的核心属性有5个:
.parent {
display: grid;
grid-template-columns: 30px 1fr;
grid-template-rows: repeat(3, 30px) 1fr;
& > .child {
grid-column: 1 / 3;
grid-row: 1;
}
}
总的来说, Grid 布局就是: 父元素先定义好自己有几行几列. 然后, 子元素定义自己在第几行第几列(可以跨越多行或者多列).
其中, display 属性大家应该很熟悉了吧? 这里不再多说.
repeat函数表示将1个css值重复n遍.
gird-column可以拆分为grid-column-start和grid-column-end两个属性.
gird-row可以拆分为grid-row-start和grid-row-end两个属性.
参考:
2. grid-template-areas和grid-area
grid-template-areas这个属性其实有点象形文字的意思.
.parent {
display: grid;
grid-template-colomns: 100px 1fr;
grid-template-rows: 1fr 50px;
grid-template-areas:
"nav content"
"footer footer ";
& > .item1 {
grid-area: nav;
}
& > .item2 {
grid-area: content;
}
& > .item3 {
grid-area: footer;
}
}
上面我们将父元素分成了4格. 然后将左上的格子命名为nav, 右上的格子命名为content, 底部的格子命名为footer.
最后, 我们只需要在子元素中指定自己属于哪个区域就可以了.
这样写有一个好处: 我们再也不用写枯燥难懂的grid-column和grid-row了, 可以给自己的区域起一个语义化的名字
参考:
3. row-gap, colomns-gap, grid-gap
类似各种框架(Bootstrap, Element, iView), Grid 布局也支持行间距和列间距.
grid-gap是row-gap和colomns-gap的合并.
grid-gap也可以简写为gap.
注意: colomns-gap 的默认值是 normal, 表示列间距为1em
参考:
4. grid-auto-columns和grid-auto-rows
如果你事先不知道你的网格有几行(有几列), 这两个属性可以帮到你. 就像字面意思一样, 这个属性表示自增长的网格行(列)的高度(宽度)
尤其是当你渲染一个不定长度的列表的时候, 这个属性会非常有用.
例如:
.parent {
display: grid;
grid-template-colomns: 1fr;
grid-auto-rows: 100px;
& > .child {
grid-column: 1;
}
}
参考:
CSS Grid 布局学习笔记的更多相关文章
- 原生 CSS 网格布局学习笔记
下是来自Oliver Williams的帖子. Oliver已经学习了相当长时间的原生CSS网格,可以说是在CSS网格方面有一定的发言权.在这篇文章中,他将以非同寻常的思路分析自己的CSS网格布局学习 ...
- CSS flex 布局学习笔记
写在前面 Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性. 任何一个容器都可以指定为 Flex 布局. 采用 Flex 布局的元素 ...
- CSS常用布局学习笔记
水平居中-行内元素 如果是文字和图片这类的行内元素,则在其父级元素上加上样式:text-align:center; 水平居中-定宽块元素 div{ width:100px; margin:0 auto ...
- CSS3与页面布局学习笔记(八)——浏览器兼容性问题与前端性能优化方案
一.浏览器兼容 1.1.概要 世界上没有任何一个浏览器是一样的,同样的代码在不一样的浏览器上运行就存在兼容性问题.不同浏览器其内核亦不尽相同,相同内核的版本不同,相同版本的内核浏览器品牌不一样,各种运 ...
- CSS Grid 布局完全指南(图解 Grid 详细教程)
CSS Grid 布局是 CSS 中最强大的布局系统.与 flexbox 的一维布局系统不同,CSS Grid 布局是一个二维布局系统,也就意味着它可以同时处理列和行.通过将 CSS 规则应用于 父元 ...
- CSS 网格布局学习
转自:https://blog.jirengu.com/?p=990 CSS网格布局(又名“网格”)是一个二维的基于网格的布局系统,其目的只在于完全改变我们设计基于网格的用户界面的方式. CSS一直用 ...
- CSS Grid布局指南
简介 CSS Grid布局 (又名"网格"),是一个基于二维网格布局的系统,主要目的是改变我们基于网格设计的用户接口方式.如我们所知,CSS 总是用于网页的样式设置,但它并没有起到 ...
- 5分钟学会 CSS Grid 布局
欢迎加入前端交流群交流知识&&获取视频资料:749539640 这是一篇快速介绍网站未来布局的文章. Grid 布局是网站设计的基础,CSS Grid 是创建网格布局最强大和最简单的工 ...
- 带你入门 CSS Grid 布局
前言 三月中旬的时候,有一个对于 CSS 开发者来说很重要的消息,最新版的 Firefox 和 Chrome 已经正式支 CSS Grid 这一新特性啦.没错:我们现在就可以在最流行的两大浏览器上玩转 ...
随机推荐
- Shell学习日记
if语句的使用 if语句的的格式: if [ expression ] expression 和方括号([ ])之间必须有空格,否则会有语法错误. then statments fi 或者: if [ ...
- 【洛谷2324】[SCOI2005]骑士精神 IDA*
[SCOI2005]骑士精神 描述 在一个\(5×5\)的棋盘上有\(12\)个白色的骑士和\(12\)个黑色的骑士, 且有一个空位.在任何时候一个骑士都能按照骑 士的走法(它可以走到和它横坐标相差为 ...
- list与str互转
import stringstr = 'abcde' list = list(str)list['a', 'b', 'c', 'd', 'e']str'abcde'str_convert = ''.j ...
- 使用instsrv.exe和srvany.exe将应用程序安装成windows后台服务
好的参考链接: http://www.jb51.net/softjc/374631.html 利用这两个工具,将 exe程序或者 bat文件,做成Windows后台服务.
- 【STL基础】deque
deque (double-ended queue) 构造函数: //default: deque<T> d; //空的vector //fill: deque<T> d(n) ...
- Unity 动画系统 StateMachineBehaviour 动画状态机
- msyql操作100题
1.1.1 开启MySQL服务 /etc/init.d/mysqld start 使用/etc/init.d/mysqld start命令启动数据库的本质就相当于执行mysqld_safe --use ...
- 读书笔记:编程小白的第一本python入门书
书名:编程小白的第一本python入门书 作者:侯爵 出版社/出处:图灵社区 年份:2016年 封面: 感想: 本书短小精悍,精华部分在于给编程小白打了鸡血的同时输出了一种“高效学习法的思想”. 个人 ...
- hadoop - hbase 单机版的安装部署
1. 下载安装包. http://www.apache.org/dyn/closer.lua/hbase/ 选择版本,单机进入以下页面 2. tar xfz hbase-1.2.6-bin.tar.g ...
- APP测试总结2
一.App测试流程与web项目流程区别 1.对UI要求比较高,需要更加注重用户体验.对于一个小小的屏幕,如何让用户使用更加轻便.简介.易用. 2.App是调用服务端接口展示数据.我们测试需要可以判断问 ...