图解CSS3-flex布局
前言
最近笔者在复习以前基础知识,发现很多细的知识点还是需要重新再总结一番。本文对flex布局进行图解说明,以后忘了的同学可以随时过来查看,欢迎转载,烦请注明出处。
主体
万丈高楼平地起,熟悉flex,先来了解下以下7种css属性
1.
display: flex;
/* 设置父级元素flex模式 */
flex-direction: column;
/* 设置子级元素排列方式,主轴是哪一根(横/竖) */
flex-wrap: wrap;
/* 决定子级元素一行排列不下时,是否换行 */
flex-flow: row nowrap;
/* flex-direction和flex-wrap的综合体 */
justify-content: center;
/* 项目在主轴上的对齐方式 */
align-items: center;
/* 项目在侧轴上的对齐方式 */
align-content: space-between;
/* 多行项目的对齐方式 */
下面我们就对每个属性进行详细的探讨:
flex-direction: 绝对主轴的方向
row默认水平方向,起点在左边row-reverse水平方向,起点在右边column垂直方向,起点在上沿column-reverse垂直方向,起点在下沿
display: flex;
flex-direction: row | row-reverse | column | column-reverse;

flex-wrap当项目在一条轴线上排不下时,是否换行
wrap换行nowrap(默认)不换行wrap-reverse换行,第一行在最下面
display: flex;
flex-wrap: nowrap | wrap | wrap-reverse;


flex-flow:flex-direction和flex-wrap的集合,也就是说这个属性是后面两个属性的结合方式
row nowrap(默认)水平方向,起点在左端,不换行
display: flex;
flex-flow: <flex-direction> || <flex-wrap>;
详细可参考如上单个属性的解释
justify-content定义项目在主轴上的对齐方式
flex-start左边对齐flex-end右边对齐center居中对齐space-between两端对齐,空格在中间space-around空格环绕
display: flex;
justify-content: flex-start | flex-end | center | space-between | space-around;

这里对space-between和space-around做一个简单的区别说明:
相同点:子元素都会自动排好,彼此之间距离相等
不同点:
space-between两端对齐,第一个子元素和最后一个子元素会贴着父级元素的边框。space-around第一个子元素和最后一个子元素与边框也会有一定的距离。align-items项目在侧轴的对齐方式
flex-start顶部对齐,即文字图片等顶部同一条线上flex-end底部对齐,即文字图片等底部在同一条线上center中间对齐,即文字图片不管多高,都拿它们的中间放在同一条线上stretch将文字图片充满整个容器的高度,强制统一baseline将每项的第一行文字做统一在一条线上对齐
display: flex;
align-items: flex-start | flex-end | center | stretch | baseline;

align-content定义多行项目的对齐方式。如果只有一行项目,该属性不起作用
flex-start这几行顶部对齐flex-end这几行底部对齐center这几行居中对齐stretch这几行进行扩展或者缩放,从而填满容器高space-between这几行中间使用空格进行填充(两端对齐)space-around这几行用空格进行围绕(两边及中间)
display: flex;
align-content: flex-start | flex-end | center | space-between | space-around | stretch;

后缀
如果你觉得这个对你有帮助,欢迎转载,烦请注明出处。同时也欢迎大家在GitHub上和我一起进阶前端。
找到我:GitHub
找到我:知乎
图解CSS3-flex布局的更多相关文章
- CSS3 Flex布局(伸缩布局盒模型)学习
CSS3 Flex布局(伸缩布局盒模型)学习 转自:http://www.xifengxx.com/web-front-end/1408.html CSS2定义了四种布局:块布局.行内布局.表格布局盒 ...
- CSS3 Flex布局整理(三)-项目属性
一.Flex布局中 Flex Item属性控制,可以指定显示顺序.剩余空间的放大,缩小.交叉轴的排列 1.order:定义项目的排列顺序,数值越小,排列越靠前,默认为0.类似z-index 2.fle ...
- CSS3 Flex布局整理(二)-容器属性
一.Flex容器属性介绍 1.flex-flow :水平或垂直方向上的流动方式,包裹处理,其中包括了flex-direction属性和flex-wrap属性. 2.justify-content:定义 ...
- CSS3 Flex布局整理(一)
一.说明 1.在以往的布局方案中,都是基于盒装模型,依赖display属性+position属性+float属性等. 他对于那些特殊布局非常不方便,比如,垂直居中等. 并且不同浏览器的盒模型还有些差异 ...
- CSS3 Flex布局(项目)
一.order属性 order属性定义项目的排列顺序.数值越小,排列越靠前,默认为0. 二.flex-grow属性 flex-grow属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大. ...
- CSS3 Flex布局(容器)
一.flex-direction属性 row(默认值):主轴为水平方向,起点在左端. row-reverse:主轴为水平方向,起点在右端. column:主轴为垂直方向,起点在上沿. column-r ...
- css3 flex布局/grid布局
1.CSS3 Flexbox 布局完全指南(图解 Flexbox 布局详细教程) 2.CSS Grid 布局完全指南(图解 Grid 详细教程)
- CSS3 Flex 布局教程
网页布局(layout)是 CSS 的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性.它对于那些特殊布局非常不方便,比如,垂 ...
- css3 flex 布局
今天做一个小实战,需要让一个登录框始终保持水平和垂直居中,第一个想到的就是通过定位(要想让一个div居中,采用定位可以解决,示例), 然后开始接触flex布局,学完感觉真的好用,现把知识点记录一下,以 ...
- css3 flex布局结合transform生成一个3D骰子
预览地址: https://zhaohh.github.io/flex-dice/index.html 1 Flex 布局 首先聊聊Flex 布局,Flex 布局又称"弹性布局", ...
随机推荐
- 洛谷 P1613 解题报告
P1613 跑路 题目描述 小\(A\)的工作不仅繁琐,更有苛刻的规定,要求小\(A\)每天早上在\(6:00\)之前到达公司,否则这个月工资清零.可是小\(A\)偏偏又有赖床的坏毛病.于是为了保住自 ...
- 在线引用js资源积累
[jQuery]https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js[Vue]https://cdnjs.cloudfla ...
- 敏捷方法之极限编程(XP)和 Scrum
区别之一: 迭代长度的不同 XP的一个Sprint的迭代长度大致为1~2周, 而Scrum的迭代长度一般为 2~ 4周. 区别之二: 在迭代中, 是否允许修改需求 XP在一个迭代中,如果一个User ...
- PAT1011:World Cup Betting
1011. World Cup Betting (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Wit ...
- SVN使用指引(Windows)
SVN使用指引(本地服务器为Windows) 原:http://wiki.open.qq.com/wiki/SVN%E4%BD%BF%E7%94%A8%E6%8C%87%E5%BC%95%EF%BC% ...
- tk.mybatis.mapper.provider.SpecialProvider.<init>()
2017-03-26 23:44:29.192 ERROR 48392 --- [p-nio-80-exec-5] c.t.global.exception.GlobalExHandler : nes ...
- JavaScript 设计模式之----单体(单例)模式
设计模式之--单体(单例)模式 1.介绍 从本章开始,我们会逐步介绍在JavaScript里使用的各种设计模式实现,在这里我不会过多地介绍模式本身的理论,而只会关注实现.OK,正式开始. 在传统开发工 ...
- Python中的r+和a+
问题描述 我打算更改文件user_list2中的内容, 本来的想法是加一个temp 文件. 先把user_list2的内容读取并修改后写入temp, 之后再写回来. 但是在读取内容并修改后写入temp ...
- 关于Kafka配额的讨论(2)
继续前一篇的讨论.前文中提到了两大类配额管理:基于带宽的以及基于CPU线程使用时间的.本文着重探讨基于CPU线程时间的配额管理. 定义 这类配额管理被称为请求配额(request quota),管理起 ...
- mime.go
package manager import ( "mime" "path" ) //初始化数据 func init() { if mi ...