CSS3伸缩布局Flex学习笔记

如果需要使用伸缩布局首先得把display:flex;对于兼容还得加前缀display:-webkit-display:flex;等其他浏览器前缀,但我本机Chrome测试已经不需要加前缀了,其实这些还好,关键移动端竟然不支持这个属性,移动端支持的还是老版本的display:-webki-box;不过对于学习来说,也不管它支持不支持了,学了再说吧,更何况Chrome已经把flex的前缀去了,说明flex多少还是有些稳定的。


下面列出了关于CSS与flex一起使用的一些属性


    •     display 显示方式

    •     flex-direction 设置flex模型的方向

    •     justify-content 设置水平方向的对齐

    •     align-items 设置垂直方向的对齐

    •     flex-wrap 是否换行

    •     align-content 设置换行后的对齐方式

    •     flex-flow 简写flex-direction和flex-wrap

    •     order 指定顺序

    •     align-self 覆盖容器的对齐项目属性

    •     flex 指定长度

注意如果设置了宽度盒子是固定的。

弹性盒模型可以设置成·flex 或 inline-flex

 

display:flex

 

 注意这个被固定住了,默认情况下,沿水平轴,从左至右

 inline-flex和flex的效果是一样的,也没弄个所以然出来。

 

Flex的方向

  flex-direction:属性指定flex的方向。默认值row(左到右,顶部到底部) 

  其他的值如下:

    •   row-reverse - 从右到左,1在最右边,2倒数第2....
    •   column - 垂直排列
    •   column-reverse - 垂直排列并且逆转

row-reverse

 

column

  

column-reverse

  

水平对齐 --justify-content

  可能的值如下:

    •   flex-start- 默认值。被定位在容器的开头
    •   flex-end - 被定位在容器的端部
    •   center - 被定位在容器的中心
    •   space-between - 项目定位与线之间的空间
    •   space-around - 项目是前定位成空间之间,并且所述线后

flex-end

  

center

  

space-between

  

space-around

  

垂直对齐--align-items

  可能的值如下:

    •   stretch- 默认值。项目被拉伸以适应父元素
    •   flex-start - 被定位在容器的顶部
    •   flex-end - 被定位在容器的底部
    •   center - 被定位在容器的中心
    •   baseline - 被定位在容器的基线

stretch

  

flex-start

  

flex-end

  

center

  

baseline

  

如果没有足够的空间指定是否换行--flex-wrap

  可能的值如下:

    •   nowrap- 默认值。不换行
    •   wrap - 换行
    •   wrap-reverse - 以相反的顺序换行

nowrap

  

wrap

  

wrap-reverse

  

内容对齐--align-content

需要配合flex-wrap使用

可能的值如下:

    •   stretch- 默认值。线路延伸到占用的剩余空间
    •   flex-start - 线路都挤满朝着柔性容器的开始
    •   flex-end - 线路都挤满朝着柔性容器的结束
    •   center - 线路都挤满朝着柔性容器的中央
    •   space-between - 线条均匀地分布在Flex容器
    •   space-around - 线条均匀地分布在Flex容器,用半角空格的两端

center

  

对这个不是很理解,待研究。

指定项目的顺序--order

 给第二个添加 order:-1

  

谁的数大,谁在后面

余量将所有额外的空间被吸收到该元素上--margin-right: auto

  

完美水平垂直居中

  

对每个子项目设置对齐--align-self

flex-start、flex-end、center、baseline、stretch

  

指定项目的范围--flex

2,1,1

  

简写flex-direction 和 flex-wrap --flex-flow

flex-flow: row-reverse wrap;

这些还多少有些不完善,以后还会更新进来。

本文内容翻译自:http://www.w3schools.com/

原文地址:https://www.cnblogs.com/pssp/p/5866377.html