CSS3 flex布局总结
CSS3flex布局总结

2009年,W3C提出了一种新的计划----Flex布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了全部扫瞄器的支持。

Flex是FlexibleBox的缩写,意为"弹性布局",用来为盒状模型提供最大的灵便性。任何一个容器都可以指定为Flex布局。

(推举学习:CSS教程)

行内元素也可以用法Flex布局。

.box{

display:flex;

}

.box{

display:inline-flex;

}

需要注重的是Webkit内核的扫瞄器,必需加上-webkit前缀。

.box{

display:-webkit-flex;/*Safari*/


display:flex;

}

此外,设为Flex布局以后,子元素的float、clear和vertical-align属性将失效。

flex布局常常用到的的6个属性

flex-direction

flex-wrap

flex-flow

justify-content

align-items

align-content

1、flex-direction属性打算主轴的方向(即项目的罗列方向)。

.box{

flex-direction:row|row-reverse|column|column-reverse;

}

row(默认值):主轴为水平方向,起点在左端。


row-reverse:主轴为水平方向,起点在右端。

column:主轴为垂直方向,起点在上沿。

column-reverse:主轴为垂直方向,起点在下沿。

2、flex-wrap属性定义,假如一条轴线排不下,如何换行。

.box{

flex-wrap:nowrap|wrap|wrap-reverse;

}

nowrap(默认):不换行。

wrap:换行,第一行在上方。

wrap-reverse:换行,第一行在下方。

3、flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认值为rownowrap。

.box{

flex-flow:||;

}

4、justify-content属性定义了项目在主轴上的对齐方式。


-content:flex-start|flex-end|center|space-between|space-

flex-start(默认值):左对齐

flex-end:右对齐

center:居中

space-between:两端对齐,项目之间的间隔都相等。

space-around:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。

5、align-items属性定义项目在交错轴上如何对齐。


.box{

align-items:flex-start|flex-end|center|baseline|stretch;

}

flex-start:交错轴的起点对齐。

flex-end:交错轴的尽头对齐。

center:交错轴的中点对齐。

baseline:项目的第一行文字的基线对齐。

stretch(默认值):假如项目未设置高度或设为auto,将占满囫囵容器的高度。

6、align-content属性定义了多根轴线的对齐方式。假如项目惟独一根轴线,该属性不起作用。

.box{

align-content:flex-start|flex-end|center|space-between|space-around|stretch;

常用css布局}

该属性可能取6个值。

flex-start:与交错轴的起点对齐。

flex-end:与交错轴的尽头对齐。

center:与交错轴的中点对齐。

space-between:与交错轴两端对齐,轴线之间的间隔平均分布。

space-around:每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍。

stretch(默认值):轴线占满囫囵交错轴。

还有以下6个属性设置在项目上。

order

flex-grow

flex-shrink

flex-basis

flex

align-self

order属性定义项目的罗列挨次。数值越小,罗列越靠前,默认为0。

.item{

order:;


}

flex-grow属性定义项目的放大比例,默认为0,即假如存在剩余空间,也不放大。

.item{

flex-grow:;/*default0*/}

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

flex-shrink属性定义了项目的缩小比例,默认为1,即假如空间不足,该项目将缩小。

.item{


flex-shrink:;/*default1*/}

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

flex-basis属性定义了在分配多余空间之前,项目占领的主轴空间(mainsize)。扫瞄器按照这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的原来大小。

.item{

flex-basis:|auto;/*defaultauto*/}

flex属性是flex-grow,flex-shrink和flex-basis的简写,默认值为01auto。后两个属性可选。

.
item{

flex:none|[?||]

}

该属性有两个快捷值:auto(11auto)和none(00auto)。

align-self属性允许单个项目有与其他项目不一样的对齐方式,可笼罩align-items属性。默认值为auto,表示继承父元素的align-items属性,假如没有父元素,则等同于stretch。

.item{

align-self:auto|flex-start|flex-end|center|baseline|stretch;

}

     

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。