display:flex 是一種佈局方式。它便可以應用於容器中,也能夠應用於行內元素。是W3C提出的一種新的方案,能夠簡便、完整、響應式地實現各類頁面佈局。目前,它已經獲得了全部瀏覽器的支持。Flex是Flexible Box的縮寫,意爲"彈性佈局",用來爲盒狀模型提供最大的靈活性。設爲Flex佈局之後,子元素的float、clear和vertical-align屬性將失效。web
1536039075.png瀏覽器
2:flex-direction:column; 讓元素沿垂直主軸從上到下垂直排列 佈局
1536039314(1).pngflex
3:flex-direction:row-reverse;沿水平主軸讓元素從右向左排列 spa
1536039460(1).pngcode
1536041764(1).pngorm
2:justify-content : flex-start;元素在主軸(頁面)上由左或者上開始排列 ip
1536041631(1).pngget
3:justify-content : flex-end;元素在主軸(頁面)上由右或者下開始排列 頁面佈局
1536042053(1).png
4:justify-content : space-between;元素在主軸(頁面)上左右兩端或者上下兩端開始排列
1536042390(1).png
5:justify-content : space-around;每一個元素兩側的間隔相等。因此,元素之間的間隔比元素與邊框的間隔大一倍。
1536042636(1).png
1536043107(1).png
2:align-items : flex-end; 彈性盒子元素的側軸(縱軸)起始位置的邊界緊靠住該行的側軸結束邊界。(靠下對齊)
1536043238(1).png
3:align-items : center; 彈性盒子元素在該行的側軸(縱軸)上居中放置。(居中對齊)
1536043373(1).png
4:align-items : baseline; 如彈性盒子元素的行內軸與側軸爲同一條,則該值與'flex-start'等效。其它狀況下,該值將參與基線對齊。(靠上對齊)
<div id="main"> <div style="background-color:coral;"></div> <div style="background-color:lightblue;"></div> <div style="background-color:pink;"></div> </div>
#main { width: 70px; height: 300px; border: 1px solid #c3c3c3; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-align-content: center; align-content: flex-start; } #main div { width: 70px; height: 70px; }
1:align-content: flex-start; 元素位於容器的開頭。各行向彈性盒容器的起始位置堆疊。
1536046493(1).png
2:align-content: flex-end; 元素位於容器的結尾。各行向彈性盒容器的結尾位置堆疊。
1536046542(1).png
3:align-content: stretch; 元素位於容器的中心。各行向彈性盒容器的中間位置堆疊。
1536046654(1).png
4:align-content: center; 默認值。元素被拉伸以適應容器。各行將會伸展以佔用剩餘的空間。若是剩餘的空間是負數,該值等效於'flex-start'。
1536046771(1).png
5:align-content: space-between;元素位於各行之間留有空白的容器內。各行在彈性盒容器中平均分佈。
1536046899(1).png
6:align-content: space-around;元素位於各行以前、之間、以後都留有空白的容器內。各行在彈性盒容器中平均分佈,兩端保留子元素與子元素之間間距大小的一半。若是剩餘的空間是負數或彈性盒容器中只有一行,該值等效於'center'。
1536047051(1).png