屬性介紹css
定義一個flex容器,內聯或者根據指定的值,來做用於下面的子類容器。·html
1.css 列(CSS columns)在彈性盒子中不起做用css3
2.float
, clear
and vertical-align
在flex項目中不起做用web
flex-direction (適用於父類容器的元素上)ide
定義:設置或檢索伸縮盒對象的子元素在父容器中的位置。·post
flex-direction: row | row-reverse | column | column-reverse
實例代碼:flex
<!DOCTYPE html> <head> <meta charset="utf-8"> <style type="text/css"> .box { display: flex; display:-webkit-flex; margin:0; padding:10px; list-style: none; background-color: #eee; } .box li{ width:100px; height:100px; border:1px solid #aaa; text-align:center; } #box{ -wekit-flex-direction:row; flex-direction: row; } #box2{ -wekit-flex-direction:row-reverse; flex-direction:row-reverse; } #box3{ -wekit-flex-direction:column; flex-direction:column; } #box4{ -wekit-flex-direction:column-reverse ; flex-direction:column-reverse; } </style> </head> <body> <h2>flex-direction:row</h2> <ul id="box" class="box"> <li>a</li> <li>b</li> <li>c</li> </ul> <h2>flex-direction:row-reverse</h2> <ul id="box2" class="box"> <li>a</li> <li>b</li> <li>c</li> </ul> <h2>flex-direction:column</h2> <ul id="box3" class="box"> <li>a</li> <li>b</li> <li>c</li> </ul> <h2>flex-direction:column-reverse</h2> <ul id="box4" class="box"> <li>a</li> <li>b</li> <li>c</li> </ul> </body> </html>
效果:ui
設置或檢索伸縮盒對象的子元素超出父容器時是否換行。·flexbox
flex-wrap: nowrap | wrap | wrap-reverse
<!DOCTYPE html> <head> <meta charset="utf-8"> <style type="text/css"> .box{ display:-webkit-flex; display:flex; width:120px; margin:0; padding:10px; list-style:none; background-color:#eee; } .box li{ width:50px; height:50px; border:1px solid #aaa; text-align:center; } #box{ -webkit-flex-wrap:nowrap; flex-wrap:nowrap; } #box2{ -webkit-flex-wrap:wrap; flex-wrap:wrap; } #box3{ -webkit-flex-wrap:wrap-reverse; flex-wrap:wrap-reverse; } </style> </head> <body> <h2>flex-wrap:nowrap</h2> <ul id="box" class="box"> <li>a</li> <li>b</li> <li>c</li> </ul> <h2>flex-wrap:wrap</h2> <ul id="box2" class="box"> <li>a</li> <li>b</li> <li>c</li> </ul> <h2>flex-wrap:wrap-reverse</h2> <ul id="box3" class="box"> <li>a</li> <li>b</li> <li>c</li> </ul> </body> </html>
效果:spa
複合屬性。設置或檢索伸縮盒對象的子元素排列方式。·
flex-flow: <‘flex-direction’> || <‘flex-wrap’>
[ flex-direction ]:定義彈性盒子元素的排列方向。
[ flex-wrap ]:定義彈性盒子元素溢出父容器時是否換行。
代碼實例:
<!DOCTYPE html> <head> <meta charset="utf-8"> <style type="text/css"> .box{ display:-webkit-flex; display:flex; width:120px; margin:0; padding:10px; list-style:none; background-color:#eee; } .box li{ width:50px; height:50px; border:1px solid #aaa; text-align:center; } #box{ -webkit-flex-flow:row nowrap; flex-flow:row nowrap; } #box2{ -webkit-flex-flow:row wrap-reverse; flex-flow:row wrap-reverse; } #box3{ height: 120px; -webkit-flex-flow:column wrap-reverse; flex-flow:column wrap-reverse; } </style> </head> <body> <h2>flex-flow:row nowrap</h2> <ul id="box" class="box"> <li>a</li> <li>b</li> <li>c</li> </ul> <h2>flex-flow:row wrap-reverse</h2> <ul id="box2" class="box"> <li>a</li> <li>b</li> <li>c</li> </ul> <h2>flex-flow:column wrap-reverse</h2> <ul id="box3" class="box"> <li>a</li> <li>b</li> <li>c</li> </ul> </body> </html>
效果:
設置或檢索彈性盒子元素在主軸(橫軸)方向上的對齊方式。·
當彈性盒裏一行上的全部子元素都不能伸縮或已經達到其最大值時,這一屬性可協助對多餘的空間進行分配。當元素溢出某行時,這一屬性一樣會在對齊上進行控制。
justify-content: flex-start | flex-end | center | space-between | space-around
flex-start:彈性盒子元素將向行起始位置對齊。該行的第一個子元素的主起始位置的邊界將與該行的主起始位置的邊界對齊,同時全部後續的伸縮盒項目與其前一個項目對齊。
flex-end:彈性盒子元素將向行結束位置對齊。該行的第一個子元素的主結束位置的邊界將與該行的主結束位置的邊界對齊,同時全部後續的伸縮盒項目與其前一個項目對齊。
center:彈性盒子元素將向行中間位置對齊。該行的子元素將相互對齊並在行中居中對齊,同時第一個元素與行的主起始位置的邊距等同與最後一個元素與行的主結束位置的邊距(若是剩餘空間是負數,則保持兩端 相等長度的溢出)。
space-between:彈性盒子元素會平均地分佈在行裏。若是最左邊的剩餘空間是負數,或該行只有一個子元素,則該值等效於'flex-start'。在其它狀況下,第一個元素的邊界與行的主起始位置的邊界對齊,同時最後一個元素的邊界與行的主結束位置的邊距對齊,而剩餘的伸縮盒項目則平均分佈,並確保兩兩之間的空白空間相等。
space-around:彈性盒子元素會平均地分佈在行裏,兩端保留子元素與子元素之間間距大小的一半。若是最左邊的剩餘空間是負數,或該行只有一個伸縮盒項目,則該值等效於'center'。在其它狀況下,伸縮盒項目則平均分佈,並確保兩兩之間的空白空間相等,同時第一個元素前的空間以及最後一個元素後的空間爲其餘空白空間的一半。
代碼實例:
<!DOCTYPE html> <head> <meta charset="utf-8"> <style type="text/css"> .box{ display:-webkit-flex; display:flex; width:400px;height:100px;margin:0;padding:0;border-radius:5px;list-style:none;background-color:#eee;} .box li{margin:5px;padding:10px;border-radius:5px;background:#aaa;text-align:center;} #box{ -webkit-justify-content:flex-start; justify-content:flex-start; } #box2{ -webkit-justify-content:flex-end; justify-content:flex-end; } #box3{ -webkit-justify-content:center; justify-content:center; } #box4{ -webkit-justify-content:space-between; justify-content:space-between; } #box5{ -webkit-justify-content:space-around; justify-content:space-around; } </style> </head> <body> <ul id="box" class="box"> <li>a</li> <li>b</li> <li>c</li> </ul> <h2>justify-content:flex-end</h2> <ul id="box2" class="box"> <li>a</li> <li>b</li> <li>c</li> </ul> <h2>justify-content:center</h2> <ul id="box3" class="box"> <li>a</li> <li>b</li> <li>c</li> </ul> <h2>justify-content:space-between</h2> <ul id="box4" class="box"> <li>a</li> <li>b</li> <li>c</li> </ul> <h2>justify-content:space-around</h2> <ul id="box5" class="box"> <li>a</li> <li>b</li> <li>c</li> </ul> </body> </html>
效果:
設置或檢索彈性盒子元素在側軸(縱軸)方向上的對齊方式。·
align-items: flex-start | flex-end | center | baseline | stretch
代碼實例:
<!DOCTYPE html> <head> <meta charset="utf-8"> <style type="text/css"> .box{ display:-webkit-flex; display:flex; width:200px;height:100px;margin:0;padding:0;border-radius:5px;list-style:none;background-color:#eee;} .box li{margin:5px;border-radius:5px;background:#aaa;text-align:center;} .box li:nth-child(1){padding:10px;} .box li:nth-child(2){padding:15px 10px;} .box li:nth-child(3){padding:20px 10px;} #box{ -webkit-align-items:flex-start; align-items:flex-start; } #box2{ -webkit-align-items:flex-end; align-items:flex-end; } #box3{ -webkit-align-items:center; align-items:center; } #box4{ -webkit-align-items:baseline; align-items:baseline; } #box5{ -webkit-align-items:strecth; align-items:strecth; } </style> </head> <body> <h2>align-items:flex-start</h2> <ul id="box" class="box"> <li>a</li> <li>b</li> <li>c</li> </ul> <h2>align-items:flex-end</h2> <ul id="box2" class="box"> <li>a</li> <li>b</li> <li>c</li> </ul> <h2>align-items:center</h2> <ul id="box3" class="box"> <li>a</li> <li>b</li> <li>c</li> </ul> <h2>align-items:baseline</h2> <ul id="box4" class="box"> <li>a</li> <li>b</li> <li>c</li> </ul> <h2>align-items:strecth</h2> <ul id="box5" class="box"> <li>a</li> <li>b</li> <li>c</li> </ul> </body> </html>
效果:
設置或檢索彈性盒堆疊伸縮行的對齊方式。·
align-content: flex-start | flex-end | center | space-between | space-around | stretch
代碼實例:
<!DOCTYPE html> <head> <meta charset="utf-8"> <style type="text/css"> .box{ display:-webkit-flex; display:flex; -webkit-flex-wrap: wrap; width:200px; height:200px; margin:0; padding:0; border-radius:5px; list-style:none; background-color:#eee; } .box li{ margin:5px; padding:10px; border-radius:5px; background:#aaa;text-align:center;} #box{ -webkit-align-contebt:flex-start; align-content:flex-start; } #box2{ -webkit-align-contebt:flex-end; align-content:flex-end; } #box3{ -webkit-align-contebt:center; align-content:center; } #box4{ -webkit-align-content:space-between; align-content:space-between; } #box5{ -webkit-align-content:space-around; align-content:space-around; } #box6{ -webkit-align-content:strecth; align-content:strecth; } </style> </head> <body> <h2>align-content:flex-start</h2> <ul id="box" class="box"> <li>a</li> <li>b</li> <li>c</li> <li>d</li> <li>e</li> <li>f</li> </ul> <h2>align-content:flex-end</h2> <ul id="box2" class="box"> <li>a</li> <li>b</li> <li>c</li> <li>d</li> <li>e</li> <li>f</li> </ul> <h2>align-content:center</h2> <ul id="box3" class="box"> <li>a</li> <li>b</li> <li>c</li> <li>d</li> <li>e</li> <li>f</li> </ul> <h2>align-content:space-between</h2> <ul id="box4" class="box"> <li>a</li> <li>b</li> <li>c</li> <li>d</li> <li>e</li> <li>f</li> </ul> <h2>align-content:space-around</h2> <ul id="box5" class="box"> <li>a</li> <li>b</li> <li>c</li> <li>d</li> <li>e</li> <li>f</li> </ul> <h2>align-content:strecth</h2> <ul id="box6" class="box"> <li>a</li> <li>b</li> <li>c</li> <li>d</li> <li>e</li> <li>f</li> </ul> </body> </html>
效果:
order: <integer>
代碼實例:
<!DOCTYPE html> <head> <meta charset="utf-8"> <style type="text/css"> .box{ display:-webkit-flex; display:flex; margin:0;padding:10px;list-style:none;background-color:#eee;} .box li{width:100px;height:100px;border:1px solid #aaa;text-align:center;} #box li:nth-child(3){ -webkit-order:-1; order:-1; } </style> </head> <body> <ul id="box" class="box"> <li>a</li> <li>b</li> <li>c</li> <li>d</li> <li>e</li> </ul> </body> </html>
效果:
設置或檢索彈性盒的擴展比率。·
根據彈性盒子元素所設置的擴展因子做爲比率來分配剩餘空間。
flex-grow: <number> (default 0)
代碼示例:
<!DOCTYPE html> <head> <meta charset="utf-8"> <style type="text/css"> .box{ display:-webkit-flex; display:flex; margin:0;padding:10px;list-style:none;background-color:#eee;} .box li{width:100px;height:100px;border:1px solid #aaa;text-align:center;} #box li:nth-child(2){ -webkit-flex-grow:1; flex-grow:1; } #box li:nth-child(3){ -webkit-flex-grow:2; flex-grow:2; } </style> </head> <body> <ul id="box" class="box"> <li>a</li> <li>b</li> <li>c</li> <li>d</li> <li>e</li> </ul> </body> </html>
效果:
設置或檢索彈性盒的收縮比率(根據彈性盒子元素所設置的收縮因子做爲比率來收縮空間。)·
flex-shrink: <number> (default 1)
代碼示例:
<!DOCTYPE html> <head> <meta charset="utf-8"> <style type="text/css"> #flex{display:-webkit-flex;display:flex;width:400px;margin:0;padding:0;list-style:none;} #flex li{width:200px;} #flex li:nth-child(1){background:#888;} #flex li:nth-child(2){background:#ccc;} #flex li:nth-child(3){-webkit-flex-shrink:3;flex-shrink:3;background:#aaa;} </style> </head> <body> <ul id="flex"> <li>a</li> <li>b</li> <li>c</li> </ul> </body> </html>
效果:
設置或檢索彈性盒伸縮基準值。·
flex-basis: <length> | auto (default auto)
代碼實例:
<!DOCTYPE html> <head> <meta charset="utf-8"> <style type="text/css"> .box{ display:-webkit-flex; display:flex; width:600px;margin:0;padding:10px;list-style:none;background-color:#eee; } .box li{width:100px;height:100px;border:1px solid #aaa;text-align:center;} #box li:nth-child(3){ -webkit-flex-basis:600px; flex-basis:600px; } </style> </head> <body> <ul id="box" class="box"> <li>a</li> <li>b</li> <li>c</li> <li>d</li> <li>e</li> </ul> </body> </html>
效果:
複合屬性。設置或檢索伸縮盒對象的子元素如何分配空間。·
若是縮寫flex:1, 則其計算值爲:1 1 0
flex:none | [ flex-grow ] || [ flex-shrink ] || [ flex-basis ]
代碼實例:
<!DOCTYPE html> <head> <meta charset="utf-8"> <style type="text/css"> .box{ display:-webkit-flex; display:flex; max-width:400px;height:100px;margin:10px 0 0;padding:0;border-radius:5px;list-style:none;background-color:#eee;} .box li{background:#aaa;text-align:center;} .box li:nth-child(1){background:#999;} .box li:nth-child(2){background:#aaa;} .box li:nth-child(3){background:#ccc;} #box li:nth-child(1){-webkit-flex:1;flex:1;} #box li:nth-child(2){-webkit-flex:1;flex:1;} #box li:nth-child(3){-webkit-flex:1;flex:1;} #box2 li:nth-child(1){-webkit-flex:1 0 100px;flex:1 0 100px;} #box2 li:nth-child(2){-webkit-flex:2 0 100px;flex:2 0 100px;} #box2 li:nth-child(3){-webkit-flex:3 0 100px;flex:3 0 100px;} #box3{max-width: 800px;} #box3 li:nth-child(1){-webkit-flex:1 1 300px;flex:1 1 300px;background:#999;} #box3 li:nth-child(2){-webkit-flex:1 2 500px;flex:1 2 500px;background:#aaa;} #box3 li:nth-child(3){-webkit-flex:1 3 600px;flex:1 3 600px;background:#ccc;} </style> </head> <body> <ul id="box" class="box"> <li>flex:1;</li> <li>flex:1;</li> <li>flex:1;</li> </ul> <ul id="box2" class="box"> <li>flex:1 0 100px;</li> <li>flex:2 0 100px;</li> <li>flex:3 0 100px;</li> </ul> <ul id="box3" class="box"> <li>flex:1 1 400px;</li> <li>flex:1 2 400px;</li> <li>flex:1 2 400px;</li> </ul> </body> </html>
效果:
說明:
2017-08-23 19:32:54