Flex布局介绍
Flex 是 Flexible Box 的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性
任何一个容器都可以指定为 Flex 布局。
.box{
display: -webkit-flex; /* Safari */ //考虑兼容
display: flex;
}
行内元素也可以使用 Flex 布局。
.box{
display: inline-flex;
}
注意,设为 Flex 布局以后,子元素的float、clear和vertical-align属性将失效。
父属性(作用于父级div等元素)
1.flex-direction属性决定主轴的方向(即项目的排列方向)。
.box {
flex-direction: row | row-reverse | column | column-reverse;
→ ← ↓ ↑
}
2 flex-wrap属性
默认情况下,项目都排在一条线上。flex-wrap属性定义,如果一条轴线排不下,如何换行。
.box{
flex-wrap: nowrap | wrap | wrap-reverse;
不换行 换行 向上换行
}
3 flex-flow(常用属性)
flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap。
4 justify-content属性(常用属性)
justify-content属性定义了项目在x轴上的对齐方式。
.box {
justify-content: flex-start | flex-end | center | space-between | space-around;
→ ← 居中 中间留空 头尾中间都留空
}
5 align-items属性(y轴)(常用属性)
align-items属性定义项目在交叉轴上如何对齐。
.box {
align-items: flex-start | flex-end | center | baseline | stretch
顶对齐,底对齐,中部对齐,首行对齐,充满
}
6 align-content属性(y轴)
align-content属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。
.box {
align-content: flex-start | flex-end | center | space-between | space-around | stretch;
(请对照 align-items属性)
}
子属性 (作用于子级div等元素)
1 order属性(常用属性)
order属性定义项目的排列顺序。数值越小,排列越靠前,默认为0。
2 flex-grow属性(比例属性)
flex-grow属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。
3 flex-shrink属性
flex-shrink属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。
值大于等于0,0代表不缩小,其他的当空间不足时按比例比例缩小
4 flex-basis属性
flex-basis属性定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小。
5 flex属性(常用属性)
flex属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto。后两个属性可选。
该属性有两个快捷值:auto (1 1 auto) 和 none (0 0 auto)。
建议优先使用这个属性,而不是单独写三个分离的属性,因为浏览器会推算相关值。
6 align-self属性(y轴)(常用属性)## 标题 ##
align-self属性允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch。
.item {
align-self: auto | flex-start | flex-end | center | baseline | stretch;
(请对照 align-items属性)
}
该属性可能取6个值,除了auto,其他都与align-items属性完全一致。
Flex布局介绍的更多相关文章
- CSS之FLex布局介绍
网页布局(layout)是CSS的一个重点应用. img 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便,比如, ...
- 在移动端中的flex布局
flex布局介绍: flex布局很灵活, 这种布局我们也可以称之为弹性布局, 弹性布局的主要优势就是元素的宽或者高会自动补全; flex布局实例: 比如有两个div,一个div的宽度为100px, ...
- Flex布局教程及属性速查
一.Flex布局介绍 伸缩盒模型(flexbox)是一个新的盒子模型,意为"弹性布局",用来为盒状模型提供最大的灵活性,主要优化了UI布局.Flexbox的功能主要包手:简单使用一 ...
- React-Native基础_3.Flex布局
Flex布局介绍 /** * Sample React Native App * https://github.com/facebook/react-native * @flow */ 'use st ...
- 学好Flex布局并不容易
1. Flex布局介绍 CSS的传统布局解决方案,基于盒状模型,依赖display属性.position属性.float属性,对于一些特殊的布局,例如垂直居中,往往要想很多hack的方法来解决. 20 ...
- Flex 布局教程:语法篇
作者: 阮一峰 网页布局(layout)是CSS的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便 ...
- Flex 布局教程:实例篇
该教程整理自 阮一峰Flexible教程 今天介绍常见布局的Flex写法.你会看到,不管是什么布局,Flex往往都可以几行命令搞定. 我的主要参考资料是Landon Schropp的文章和Solved ...
- FLEX布局的一些问题和解决方法
前言 露珠最近研究了一下flex的布局方式,发现项w3c推出的这套布局解决方案对于日益复杂的前端开发布局来说是确实是一利器,并且在不同的屏幕上实现了真正的响应式布局:不再单纯地依赖百分比和float的 ...
- 【转】Flex 布局语法教程
网页布局(layout)是CSS的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便,比如,垂直居中 ...
随机推荐
- MySQL (九)
1 代码执行结构 代码执行结构有三种:顺序结构.分支结构和循环结构. 1.1 分支结构 分支结构:实现准备多个代码块,按照条件选择性执行某段代码. 在MySQL中只有if分支. 基本语法 if 条件判 ...
- 安装zsh后出现命令行无法识别已安装的node
安装zsh之后,在命令行输入 node -v,会出现 command not found: node. 出现原因是:使用bash输入终端指令识别得是~/.bash_profile,而安装zsh则无法识 ...
- 9.19.1 反射构造Class对象
构造Class对象的三种方式: 第一种方式: (1)对于系统的类,必须写全名! (2)该方式会将.Cla ...
- 设计模式,Let's “Go”! (中)
* { color: #3e3e3e } body { font-family: "Helvetica Neue", Helvetica, "Hiragino Sans ...
- struts2--Action
HTTP请求 提交 Struts2 StrutsPrepareAndExecuteFilter 核心控制器 -- 请求分发给不同Action Action书写的的三种格式 第一种 Action可以是 ...
- live事件的替代方法on的使用注意事项
根据jQuery的官方描述,live方法在1.7中已经不建议使用,在1.9中删除了这个方法.并建议在以后的代码中使用on方法来替代. on方法可以接受三个参数:事件名.触发选择器.事件函数. 需要特别 ...
- Web.py 框架学习笔记 - ctx
摘要: ctx用于存取web请求的环境变量,基于ThreadedDict类进行实例化.ThreadedDict类可实例化字典类型的对象,该对象某些属性可用于存取处理线程的id. 这样字典化实例的线程池 ...
- EL表达式的js函数传参问题
<!Doctype html> <html> <head> <title>js的传参问题</title> <script type=& ...
- NHibernate教程(13)--立即加载
本节内容 引入 立即加载 实例分析 1.一对多关系实例 2.多对多关系实例 结语 引入 通过上一篇的介绍,我们知道了NHibernate中默认的加载机制--延迟加载.其本质就是使用GoF23中代理模式 ...
- 怎么调用api接口
api的简单调用,调用api的方法 方法一:用前端方法调用api 完整代码: <!DOCTYPE html> <html lang="en"> <he ...