設定在容器上面的屬性:
flex-direction、flex-wrap、flex-flow、justify-content、align-items、align-content
1、flex-direction: row | row-reverse | column | column-reverse;
row(預設值):主軸為水準方向,起點在左端。
row-reverse:主軸為水準方向,起點在右端。
column:主軸為垂直方向,起點在上沿。
column-reverse:主軸為垂直方向,起點在下沿。*/
2、flex-wrap: nowrap | wrap | wrap-reverse;
nowrap(預設):不換行。
wrap:換行,第一行在上方。
wrap-reverse:換行,第一行在下方。*/
3、flex-flow: <flex-direction> || <flex-wrap>;
flex-flow屬性是flex-direction屬性和flex-wrap屬性的簡寫形式,預設值為row nowrap。*/
4、justify-content: flex-start | flex-end | center | space-between | space-around;
flex-start(預設值):左對齊
flex-end:右對齊
center: 居中
space-between:兩端對齊,項目之間的間隔都相等。
space-around:每個項目兩側的間隔相等。是以,項目之間的間隔比項目與邊框的間隔大一倍。*/
5、align-items: flex-start | flex-end | center | baseline | stretch;
flex-start:交叉軸的起點對齊。
flex-end:交叉軸的終點對齊。
center:交叉軸的中點對齊。
baseline: 項目的第一行文字的基線對齊。
stretch(預設值):如果項目未設定高度或設為auto,将占滿整個容器的高度。*/
6、align-content: flex-start | flex-end | center | space-between | space-around | stretch;
flex-start:與交叉軸的起點對齊。
flex-end:與交叉軸的終點對齊。
center:與交叉軸的中點對齊。
space-between:與交叉軸兩端對齊,軸線之間的間隔平均分布。
space-around:每根軸線兩側的間隔都相等。是以,軸線之間的間隔比軸線與邊框的間隔大一倍。
stretch(預設值):軸線占滿整個交叉軸。*/
設定在項目上的屬性:
1、order: <integer>;定義項目的排列順序。數值越小,排列越靠前,預設為0。
2、flex-grow: <number>;定義項目的放大比例,預設為0,即如果存在剩餘空間,也不放大。
3、flex-shrink: <number>定義了項目的縮小比例,預設為1,即如果空間不足,該項目将縮小。
4、flex-basis: <length> | auto;定義了在配置設定多餘空間之前,項目占據的主軸空間(main size)。浏覽器根據這個屬性,計算主軸是否有多餘空間。它的預設值為auto,即項目的本來大小。
5、 flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]是flex-grow, flex-shrink 和 flex-basis的簡寫,預設值為0 1 auto。後兩個屬性可選。
6、align-self: auto | flex-start | flex-end | center | baseline | stretch;屬性允許單個項目有與其他項目不一樣的對齊方式,可覆寫align-items屬性。預設值為auto,表示繼承父元素的align-items屬性,如果沒有父元素,則等同于stretch。
例子:彈性布局
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
*{
margin: 0;
padding: 0;
}
ul{
list-style: none;
display:flex;
align-items:center;
/*flex-direction: column ;*/
}
li{
flex: 1;
}
ul li img{
width: 200px;
}
</style>
</head>
<body>
<ul>
<li><img src="pic01.jpg"/></li>
<li><img src="pic01.jpg"/></li>
<li><img src="pic01.jpg"/></li>
<li><img src="pic01.jpg"/></li>
</ul>
</body>
</html>