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 这一新特性啦.没错:我们现在就可以在最流行的两大浏览器上玩转 ...
随机推荐
- Kibana error " Fielddata is disabled on text fields by default. Set fielddata=true on [publisher] ..."
Reason of this error:Fielddata can consume a lot of heap space, especially when loading high cardina ...
- 11、OpenCV Python 图像金字塔
__author__ = "WSX" import cv2 as cv import numpy as np # 高斯金字塔 #金字塔 原理 ==> 高斯模糊+ 降采样 #金 ...
- P5212 SubString LCT+SAM
$ \color{#0066ff}{ 题目描述 }$ 给定一个字符串init,要求支持两个操作 在当前字符串的后面插入一个字符串 询问字符串ss在当前字符串中出现了几次?(作为连续子串) 强制在线. ...
- #6145. 「2017 山东三轮集训 Day7」Easy 动态点分治
\(\color{#0066ff}{题目描述}\) JOHNKRAM 最近在参加 C_SUNSHINE 举办的聚会. C 国一共有 n 座城市,这些城市由 n−1 条无向道路连接.任意两座城市之间有且 ...
- CF986B Petr and Permutations 思维
每次交换:逆序对的数量+1或者-1: 假设最后逆序对数量为 sum; ①x+y=3n; ②x-y=sum; -> 3n+sum为偶数: 所以 n 和 sum 必须奇偶一样: #include&l ...
- 转换jmeter测试结果jtl
#bin/sh filelist=`ls jtl` # 将jtl目录的所有文件列表读取并存入变量 for file in $filelist #遍历处理各个文件 do #文件名形如 test2ad.j ...
- node.js 设置 淘宝 镜像
npm config set registry "https://registry.npm.taobao.org" npm info underscore (如果上面配置正确这个命 ...
- day15 面向对象 成员
成员 1. 变量 1.实例变量 格式: 变量.xxx=xx (称为实例变量,也叫属性,字段)给对象用的 2.类变量 类变量:直接写在类中的变量就是类变量,类变量一般用类名来访问 其实就是类中相同的属性 ...
- jq得到总价
<html><head> <title></title> {load href="/static/js/jquery-1.9.1.min.js ...
- 通过JS,按照原比例控制图片尺寸
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Con ...