走进flex布局

简介:flex 是一个CSS的display 属性中新添加一个值。 随着inline-flex的使用,它将使它适用的元素成为一个flex container(伸缩容器),而这个元素的每个子元素将成为 flex item(伸缩项目)。
伸缩项目将参与到flex布局中,所有由CSS Flexible Box Layout Module(CSS伸缩盒布局模型)定义的属性都能被它们使用
主轴:默认情况下,主轴是x轴,侧轴是y轴,项目则排列在主轴方向上
flex 属性是flex-grow, flex-shrink 和 flex-basis 属性的简写。
参考文章 Flex布局教程
flex布局新、旧版属性对比
| 作用于 | 属性 | 新版flex | 旧版flex | 备注 |
|---|---|---|---|---|
| 容器上 | 语法 | display:-webkit-flex/flex | display:-webkit-box | / |
| 容器上 | 主轴 方向 |
flex-direction: row/row-reverse column/column-reverse |
-webkit-box-orient: horizonal/vertical -webkit-box-direction: normal/reverse |
主轴:x轴/y轴 侧轴:与主轴垂直的另外一轴 |
| 容器上 | 主轴 对齐 方式 |
justify-content: flex-start/flex-end/center space-between/space-around |
-webkit-box-pack: start/end/center/justify |
富余空间:取值为flex-start或start时 富余空间在主轴的正方向上 取值为flex-end或end时 富余空间在主轴的反方向上 |
| 容器上 | 侧轴 对齐 方式 |
align-items: flex-start/flex-end center/baseline/strech |
-webkit-box-align: start/end/center |
富余空间:取值为flex-start或start时 富余空间在主轴的正方向上 取值为flex-end或end时 富余空间在主轴的反方向上 |
| 项目上 | 富余 空间 |
flex-grow:0/1/auto | -webkit-box-flex:0/1 | flex-grow定义项目的放大比例 |
新版flex新增特性
| 作用于 | 属性 | 备注 |
|---|---|---|
| 容器上 | flex-wrap:nowrap/warp/wrap-reverse | 默认单行排列,宽度压缩时项目缩小 取值非nowrap时,即是拥有侧轴方向 wrap 侧轴正方向 wrap-reverse 侧轴反方向 |
| 容器上 | align-content:start/end/center/space-between/space-around-strech | 多行对齐时的整体堆砌方式 |
| 容器上 | flex-grow:flex-direction+flex-wrap | 决定着主轴、侧轴的方向 |
| 项目上 | order:number | 给项目标记数字,控制项目顺序 |
| 项目上 | align-self: auto/start/end/center/space-between/space-around-strech | 除去容器的align-items的设定,只管理自身的侧轴对齐方式 |
| 项目上 | flow-basis:auto/0/1/auto flex-shrink:1/0/auto |
flex-basis属性定义了在分配多余空间之前, 项目占据的主轴空间(main size) 它可以设为跟width或height属性一样的值, 将项目占据固定空间 flex-shrink定义项目的缩小比例 |
等宽布局
.wrapper {
width:300px;
height:300px;
display:flex;
justify-content:flex-start;
}
.innerBox {
height:50px;
flex-shrink:1 /*无效设定,不考虑*/
flex-grow:1;
flex-basis:0%;
}
走进flex布局的更多相关文章
- Flex 布局教程:语法篇
作者: 阮一峰 网页布局(layout)是CSS的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便 ...
- Flex 布局教程:实例篇
该教程整理自 阮一峰Flexible教程 今天介绍常见布局的Flex写法.你会看到,不管是什么布局,Flex往往都可以几行命令搞定. 我的主要参考资料是Landon Schropp的文章和Solved ...
- 在移动端中的flex布局
flex布局介绍: flex布局很灵活, 这种布局我们也可以称之为弹性布局, 弹性布局的主要优势就是元素的宽或者高会自动补全; flex布局实例: 比如有两个div,一个div的宽度为100px, ...
- css flex布局
关于flex布局的一些简单用法 效果(下图) 实现代码: <!--html--> <div class="wrap"> <div class=&quo ...
- FLEX布局的一些问题和解决方法
前言 露珠最近研究了一下flex的布局方式,发现项w3c推出的这套布局解决方案对于日益复杂的前端开发布局来说是确实是一利器,并且在不同的屏幕上实现了真正的响应式布局:不再单纯地依赖百分比和float的 ...
- CSS之flex布局
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...
- flex布局示例
来自:授权地址 作者:水牛01248 几个横排元素在竖直方向上居中 display: flex; flex-direction: row;//横向排列 align-items: center;//垂直 ...
- 【转】Flex 布局语法教程
网页布局(layout)是CSS的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便,比如,垂直居中 ...
- [flex布局]-flex教程
简介:2009年,W3C提出了一种新的方案----Flex布局,可以简便.完整.响应式地实现各种页面布局.目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能. Flex布局是什 ...
随机推荐
- 【总结】springmvc
一.springmvc 1.基本概念 springmvc属于三层架构(表现层,业务层,持久层)的表现层.mvc指model,view,controller.Model(模型) : 通常指的是数据模型 ...
- NB-IoT的数据链路层和上行传输信道类型
NB-IoT的数据链路层 NB-IoT在LTE系统的基础上对数据链路层进行了大量简化,但整体上还是保持了原有的框架.数据链路层是二层协议,包含了3个子层:MAC子层.RLC子层和PDCP子层. 以网络 ...
- Java的Arrays.sort()方法到底用的什么排序算法
暂时网上看过很多JDK8中Arrays.sort的底层原理,有些说是插入排序,有些说是归并排序,也有说大于域值用计数排序法,否则就使用插入排序...其实不全对.让我们分析个究竟: 1 // Use Q ...
- Docker(10)- docker create 命令详解
如果你还想从头学起 Docker,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1870863.html 作用 创建一个新的容器但不启动它 ...
- 找出"吸血鬼数"(Java)
吸血鬼数是指位数为偶数的数字,可以由一 对数字相乘而得到,而这对数字各包含乘积的一半 位数的数字,其中从最初的数字中选取的数字可以任意排序.以两个0结尾的数字是不允许的,例如,下列数字都是 " ...
- SQL2005数据库可疑的解决方法
sqlserver数据库标注为可疑的解决办法 一般引起可疑的原因是突然断电,服务器死机,强制关机导致正在运行的数据库文件损坏,需要进行修复.方法一:USE MASTER GOSP_CONFIGURE ...
- leetcode25word-ladder
题目描述 给定两个单词(初始单词和目标单词)和一个单词字典,请找出所有的从初始单词到目标单词的最短转换序列的长度: 每一次转换只能改变一个单词 每一个中间词都必须存在单词字典当中 例如: 给定的初始单 ...
- 利用MultipartFile来进行文件上传
这个例子实在SpringMVC的基础上完成的,因此在web.xml中需要配置 web.xml <!-- 配置Spring MVC的入口 DispatcherServlet,把所有的请求都提交到该 ...
- ctf堆叠注入总结(持续更新)
第一种 1';USE db_name;SET @sql=CONCAT('sql contents');PREPARE stmt_name FROM @sql;EXECUTE stmt_name; 第二 ...
- 【转】jps 命令使用
jps(Java Virtual Machine Process Status Tool)是JDK1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合在linux/unix平台上简 ...