Flex布局

时间:2017-10-14 18:14:02   收藏:0   阅读:294

Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。

.box{
  display: -webkit-flex; /* Webkit 内核的浏览器,必须加上-webkit前缀 */
  display: flex;
}

flex 的核心的概念就是 容器 和 。容器包括外层的 父容器 和内层的 子容器,轴包括 主轴 和 交叉轴

1. 容器

技术分享

 1.1 父容器

位置排列:center:居中对齐                 [        AAA       ]

                  flex-start:起始端对齐          [AAA               ]  ( 默认)

                  flex-end:末尾段对齐           [               AAA]

分布排列:space-around:子容器沿主轴均匀分布,位于首尾两端的子容器到父容器的距离是子容器间距的一半。    [    A      A      A   ]          

                  space-between:子容器沿主轴均匀分布,位于首尾两端的子容器与父容器紧贴。                                      [A          A         A]     

 

位置排列:center:子元素居中对齐

                  flex-start:子元素位于父元素顶部

                  flex-end:子元素位于父元素底部

基线排列:baseline:基线对齐,这里的 baseline 默认是指首行文字

拉伸排列:stretch:子容器height:100%         ( 默认)

 

1.2 子容器

子容器是有弹性的(flex 即弹性),它们会自动填充剩余空间,子容器的伸缩比例由 flex 属性确定。

子容器会按照 Flex 或者width的比例自动伸缩,如果flex取值为none 则不伸缩。

虽然 flex 是多个属性的缩写,允许 1 - 3 个值连用,但通常用 1 个值就可以满足需求,它的全部写法可参考下图。

 

技术分享

 

每个子容器也可以单独定义沿交叉轴排列的方式,此属性的可选值与父容器 align-items 属性完全一致如果两者同时设置则以子容器的 align-self 属性为准。默认值为auto

 

2. 轴

如图所示,轴 包括 主轴 和 交叉轴,我们知道 justify-content 属性决定子容器沿主轴的排列方式,align-items 属性决定子容器沿着交叉轴的排列方式。

在 flex 布局中,flex-direction 属性决定主轴的方向,交叉轴的方向由主轴确定。

 

技术分享

 

主轴的起始端由 flex-start 表示,末尾段由 flex-end 表示。不同的主轴方向对应的起始端、末尾段的位置也不相同。

向右:flex-direction: row  ( 默认)

 

技术分享

 

向下:flex-direction: column

 

技术分享

 

向左:flex-direction: row-reverse

 

技术分享

 

向上:flex-direction: column-reverse

 

技术分享

 


flex 进阶概念

1. 父容器

nowrap:不换行

 

技术分享

 

wrap:换行(根据width换行显示)

 

技术分享

 

wrap-reverse:逆序换行

逆序换行是指沿着交叉轴的反方向换行。

 

技术分享

 

 

 

flex-start:起始端对齐

 

技术分享

 

flex-end:末尾段对齐

 

技术分享

 

center:居中对齐

 

技术分享

 

space-around:等边距均匀分布

 

技术分享

 

space-between:等间距均匀分布

 

技术分享

 

stretch:拉伸对齐 (默认)

 

技术分享

 

2. 子容器

 

技术分享

 

 

技术分享

 

 

技术分享

 

 

技术分享

 

 

技术分享

 

 

技术分享

 

 

技术分享

原文:http://www.cnblogs.com/coderL/p/7667873.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!