flex
的栅格布局(12格),可以自动等比例划分网格,比float
浮动的栅格方便多了 。
.row {display: flex;}.col {margin-left: 2.08333333%;margin-bottom: 1em;width: 6.25%;flex: 1 1 auto;background: rgb(255,150,150);}
02、Grid网格布局(display:grid)grid布局是一个二维布局系统,通过行、列设置定义一个网格,然后子元素按照顺序排列网格,或者设置其行列网格坐标 。一个gird
网格通常具有许多的行(row)与 列(column),以及行与行、列与列之间的间隙,这个间隙一般被称为沟槽(gutter /?ɡ?t?r/水沟) 。
属性描述值/补充display: grid;
父元素启用grid布局还可以设置为inline-grid
,行内网格grid-template-rows、grid-template-columnsIE10定义行/列的二维网格,一个参数为一行/列,多行/列定义多个值,空格隔开grid-template-columns: 200px max-content 100px auto auto;/* 5列 */
● auto:自动排列;max-content:最大内容区域● 尺寸值:px、em、%● 比例单位fr
:2fr 1fr 1fr;
比例系数● minmax()函数:minmax(100px,auto)
,区间值● repeat()函数:repeat(2, 2fr 1fr)
,重复创建行列grid-template-areasIE区域网格命名:按照区域命名的网格布局,先定义区域,在给子元素设置区域名称● 字符串命名,空格隔开,.
标识空的格子● 每个命名为一个单元格,同名合并格子?grid-area(子元素)给子元素设置区域名grid-area: left
grid-template IE定义行列,上面rows / columns、areas的简写grid-template: 50px 1fr / 150px 1fr;
grid-gap、gap IE定义行、列的间隙,等同于gap
grid-gap: 10px 20px;
gap /ɡ?p/ 缝隙?row-gap行间间隙row-gap: 5px;
?column-gap列间间隙column-gap: 10px;
grid-auto-rowsIE10自动设定隐式网格的大小-行网格-高度grid-auto-rows:50px;
grid-auto-columns自动设定隐式网格的大小-列网格-宽度grid-auto-columns: 1fr;
grid-column(子元素)、grid-row(子元素) IE设置子元素网格线序号坐标(行/列),注意这里的坐标是网格的行列分割线,不是单元格● auto、auto-fill:自动排列● 行列坐标序号 grid-column: 2;
● 跨行列坐标,起/始坐标位置grid-column: 1 / 3;
● /span跨行列数量:[开始坐标 /span
[跨单元格数量]其他:单位/函数描述值/补充flex:fr (IE)网格(grid)可变长度单位grid-template-columns: 200px 1fr 1fr;
minmax(min,max)定义长宽范围的闭区间函数,在gird
网格布局中使用 。参数为尺寸值、fr、auto、min-content、max-contentminmax(100px, auto)
repeat(重复次数,值..) IE网格列表尺寸的重复设置函数,用于gird布局● 第一个参数:重复次数;auto-fill:尽量最大网格数排列● 后面参数:重复的网格尺寸repeat(auto-fill,80px minmax(200px, auto)) ;
.grid {display: grid;grid-template-columns: 200px max-content 100px auto 10%;grid-template-rows: 100px auto;/* 两行布局:行定义/列定义 */grid-template: minmax(100px,auto) 40px/ 200px 1fr 1fr;/* 两行三列命名布局,子元素需指定名称 grid-area */grid-template-areas: "head head right" "navmain right";grid-auto-rows: 50px;/* 网格间隙距离 */row-gap: 5px;column-gap: 10px;grid-gap: 5px 10px;}.grid div:first-child{/* 跨2个格子,两种方式 */grid-column: 1/3;grid-column: 1 /span 2;/* 命名布局,指定命名格子 */grid-area: right;}
隐式网格通过grid-template-columns
、 grid-template-rows
、grid-template
等显示申明创建的网格为显示网格,当子元素超出时会自动换行进行网格排列,这部分称为隐式网格,隐式网格的大小默认是auto(根据内容自适应),可以通过
经验总结扩展阅读
- 1 CSS布局秘籍-任督二脉BFC/IFC
- 简易版 纯css爱心代码-最近超级火的打火机与公主裙中的爱心代码
- CSS选择器大全48式
- 常用CSS样式属性
- 现代 CSS 指南 -- at-rule 规则扫盲
- 新房装修室内风水如何布局 新房装修有哪些风水讲究
- CSS基础知识筑基
- CSS 动画一站式指南
- 为什么CSS中的calc函数可能会不生效?
- day03-CSS