任何一个容器都可以指定为flex布局;

行内元素也可以使用flex布局;

设为flex布局以后,子元素的float,clear,vertical-align属性都将失效;

flex容器的属性:

 flex-direction
flex-wrap
flex-flow
justify-content
align-items
align-content

flex-direction属性:

//flex-direction属性决定主轴的方向;

.box{
flex-direction:row //row(默认值):主轴为水平方向,起点在左端。
}
.box{
flex-direction:row-reverse://主轴为水平方向,起点在右端。
}
.box{
flex-direction:column; //主轴方向为垂直方向,起点在上沿;
}
.box{
flex-direction:column-reverse; //主轴方向为垂直方向,起点在下沿
}

flex-wrap:属性:默认情况下,item都排列在一条线上,flex-wrap定义,如果一条轴线排不下,该如何换行;

 .box{
flex-wrap:no-wrap;(默认)不换行
}
.box{
flex-wrap:wrap; //换行,第一行在上方;
}
.box{
flex-wrap:wrap-reverse;//换行;第二行在上方;
}

flex-flow:是flex-direction和flex-wrap的缩写,默认为row nowrap;

.box{
flex-flow:<flex-direction> ||<flex-wrap>
}

justify-content:定义item在主轴上的对齐方式;

.box{
justify-content:flex-start;//从左向右依次排列
}
.box{
justify-content:flex-end;//从又向左依次排列
}
.box{
justify-content:center;居中排列
}
.box{
justify-content:space-between;//两端对齐,项目之间的间隔都相等。
}
.box{
justify-content:space-around;每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。}

align-items:item在纵轴上的对齐方式:属性如下图:

flex-start:交叉轴的起点对齐。
flex-end:交叉轴的终点对齐。
center:交叉轴的中点对齐。
baseline: 项目的第一行文字的基线对齐。
stretch(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度。

align-content:定义了多跟轴线的对齐方式;如果该项目只有一根轴线,该属性不起作用;

.box {
align-content: flex-start | flex-end | center | space-between | space-around | stretch;
}

flex-start:与交叉轴的起点对齐。
flex-end:与交叉轴的终点对齐。
center:与交叉轴的中点对齐。
space-between:与交叉轴两端对齐,轴线之间的间隔平均分布。
space-around:每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍。
stretch(默认值):轴线占满整个交叉轴。

项目item的属性:

  

order
flex-grow
flex-shrink
flex-basis
flex
align-self
//order属性:定义项目的排列顺序,数值越小,排列越靠前,默认为0;
.item{
order:<integer>
>

flex-grow 定义item的放大比例,默认为0;即即使存在剩余空间也不放大;
.item{
flex-grow:<number>
}

如果所有项目的flex-grow属性都为1,则它们将等分剩余空间(如果有的话)。如果一个项目的flex-grow属性为2,其他项目都为1,则前者占据的剩余空间将比其他项多一倍。

flex-shrink:定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小;

.item {
flex-shrink: <number>; /* default 1 */
}

如果所有项目的flex-shrink属性都为1,当空间不足时,都将等比例缩小。如果一个项目的flex-shrink属性为0,其他项目都为1,则空间不足时,前者不缩小。

负值对该属性无效。

flex-basis:定义了在分配多余空间前,项目占据的主轴空间;默认为auto;即项目本来的大小;

.item{
flex-basis:<length> | auto;
>

它可以设为跟widthheight属性一样的值(比如350px),则项目将占据固定空间。

flex属性是flex-grow,flex-shrink,flex-basis的简写,默认为0 1 aauto;后两个可选;

.item {
flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]
}

align-self:属性允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性,默认值为auto,表示集成父元素的align-items属性,如果没有父元素,则等同于stretch;

该属性可能取6个值,除了auto,其他都与align-items属性完全一致。

flex布局知识点(阮一峰博客)的更多相关文章

  1. xargs命令学习,于阮一峰博客

    一.标准输入与管道命令 Unix 命令都带有参数,有些命令可以接受"标准输入"(stdin)作为参数. $ cat /etc/passwd | grep root 上面的代码使用了 ...

  2. javascript工具--控制台详解(转自 阮一峰博客)

    大神这篇博客是写在2011年,主要介绍 “Firefox” 浏览器插件 “Firebug” 的操作,如今主流浏览器对控制台都已经提供了很好的支持.我自己用的最多是谷歌的 “chrome” 浏览器,下面 ...

  3. 阮一峰博客里面css3的display:flex的布局

  4. 跨域资源共享 CORS 详解(转自阮一峰博客)

    CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing). 它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从 ...

  5. OAuth2.0的理解-转自阮一峰博客

    一.应用场景 为了理解OAuth的适用场合,让我举一个假设的例子. 有一个"云冲印"的网站,可以将用户储存在Google的照片,冲印出来.用户为了使用该服务,必须让"云冲 ...

  6. flex实例(阮一峰)

    Flex 布局教程:实例篇   作者: 阮一峰 日期: 2015年7月14日 上一篇文章介绍了Flex布局的语法,今天介绍常见布局的Flex写法. 你会看到,不管是什么布局,Flex往往都可以几行命令 ...

  7. flex布局知识点

    flexBox 布局最合适小规模布局,而网格布局适合较大规模布局. float,clear,vertical-align  在flex中不起作用. flex布局中,有两类作用于父节点也子节点的样式,大 ...

  8. Flex 布局知识点梳理

    传统的布局方案,在针对特殊布局时会很不方便,比如垂直居中,把一个容器等分为N列等等.自从 Flex 出现以后,这些都迎刃而解了,本文对Flex相关内容做一个简单梳理. 什么是 Flex Flex 是 ...

  9. 韩天峰博客 php基础知识学习记录

    http://rango.swoole.com 写好PHP代码真的不容易,给大家几个建议: 慎用全局变量,全局变量不好管理的,会导致你的代码依赖于全局变量,而耦合度太高. 一定不要复制粘贴代码,可重用 ...

随机推荐

  1. 由m种数字组成的n位数有多少个

    知乎链接 问题描述 我和我女朋友的QQ号都是九位数字,这九个数字是有七个不同的数字组成的,我想问这种概率是多大,我们是不是特别我看缘分呢?求大神给算一下概率! 思路 定义问题:由7种数字组成的9位数一 ...

  2. 【Algorithm】回溯法与深度优先遍历的异同

    1.相同点: 回溯法在实现上也是遵循深度优先的,即一步一步往前探索,而不像广度优先那样,由近及远一片一片地扫. 2.不同点 (1)访问序 深度优先遍历: 目的是“遍历”,本质是无序的.也就是说访问次序 ...

  3. 【MyBatis】解析MyBatis传入参数的问题

    一.单个参数: public List<XXBean> getXXBeanList(String xxCode); <select id="getXXXBeanList&q ...

  4. Eclipse的数据库插件

    今天上午升级 Eclipse 到 3.1.2 版本,完了之后就想找个数据库的插件,但花了近 2 个小时后得出的结论是:还没有支持 3.1.x 版本的数据库插件,郁闷的不行.看看 eclipse3.1. ...

  5. asp.net中C#中计算时间差代码

    我用的最简单的办法是 代码如下 复制代码 DateTime dtone = Convert.ToDateTime("2007-1-1 05:32:22");DateTime dtw ...

  6. [转]Filter 过滤器

    1.简介 Filter也称之为过滤器,它是Servlet技术中最实用的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 ...

  7. golang包time用法详解

    在我们编程过程中,经常会用到与时间相关的各种务需求,下面来介绍 golang 中有关时间的一些基本用法,我们从 time 的几种 type 来开始介绍. 时间可分为时间点与时间段,golang 也不例 ...

  8. 从代码上解决Jenkins 发送邮件中文乱码问题

    在实践中,使用Jenkins发送测试报告,收到邮件,邮件内容中的中文为乱码,邮件发送的方式是在Jenkins发邮件设置中设置邮件内容为:${FILE,path="report_ug.html ...

  9. flowable学习笔记-简单流程概念介绍

    1 Flowable process engine允许我们创建ProcessEngine 对象和使用 Flowable 的API ProcessEngine是线程安全的,他是通过 ProcessEng ...

  10. 网页端,JSON导成CSV文件

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...