彈性盒子

盒子模型

content-box

box-sizing:content-box

特點:加padding和margin都會改變原來盒子的尺寸

向外擴展

border-box

box-sizing:border-box

特點:加padding和margin整體的盒子模型不變大

向內擴展

彈性盒子使用

方式

在父級元素設置display:flex

注意

如果父級元素用了flex 那麼子元素不需要浮動了,加也沒有用

父級元素的屬性

justify-content 水平排列


描述

flex-start

默認值。項目位於容器的開頭。

flex-end

項目位於容器的結尾。

center

項目位於容器的中心。

space-between

項目位於各行之間留有空白的容器內。

space-around

項目位於各行之前、之間、之後都留有空白的容器內。

initial

設置該屬性為它的默認值。

inherit

從父元素繼承該屬性。

align-item垂直排列


描述

stretch

默認值。元素被拉伸以適應容器。 如果指定側軸大小的屬性值為'auto',則其值會使項目的邊距盒的尺寸儘可能接近所在行的尺寸,但同時會遵照'min/max-width/height'屬性的限制。

center

元素位於容器的中心。 彈性盒子元素在該行的側軸(縱軸)上居中放置。(如果該行的尺寸小於彈性盒子元素的尺寸,則會向兩個方向溢出相同的長度)。

flex-start

元素位於容器的開頭。 彈性盒子元素的側軸(縱軸)起始位置的邊界緊靠住該行的側軸起始邊界。

flex-end

元素位於容器的結尾。 彈性盒子元素的側軸(縱軸)起始位置的邊界緊靠住該行的側軸結束邊界。

baseline

元素位於容器的基線上。 如彈性盒子元素的行內軸與側軸為同一條,則該值與'flex-start'等效。其它情況下,該值將參與基線對齊。

initial

設置該屬性為它的默認值。

inherit

從父元素繼承該屬性。

flex-direction靈活項目的方向(基本不用 瞭解就行,用了就是垂直於水平相反)


描述

row

默認值。靈活的項目將水平顯示,正如一個行一樣。

row-reverse

與 row 相同,但是以相反的順序。

column

靈活的項目將垂直顯示,正如一個列一樣。

column-reverse

與 column 相同,但是以相反的順序。

initial

設置該屬性為它的默認值

inherit

從父元素繼承該屬性

flex-wrap 規定flex容器是單行或者多行


描述

nowrap

默認值。規定靈活的項目不拆行或不拆列。

wrap

規定靈活的項目在必要的時候拆行或拆列。

wrap-reverse

規定靈活的項目在必要的時候拆行或拆列,但是以相反的順序。

initial

設置該屬性為它的默認值。

inherit

從父元素繼承該屬性。

align-content 規定多行的水平排列


描述

stretch

默認值。元素被拉伸以適應容器。 各行將會伸展以佔用剩餘的空間。如果剩餘的空間是負數,該值等效於'flex-start'。在其它情況下,剩餘空間被所有行平分,以擴大它們的側軸尺寸。

center

元素位於容器的中心。 各行向彈性盒容器的中間位置堆疊。各行兩兩緊靠住同時在彈性盒容器中居中對齊,保持彈性盒容器的側軸起始內容邊界和第一行之間的距離與該容器的側軸結束內容邊界與第最後一行之間的距離相等。(如果剩下的空間是負數,則各行會向兩個方向溢出的相等距離。)

flex-start

元素位於容器的開頭。 各行向彈性盒容器的起始位置堆疊。彈性盒容器中第一行的側軸起始邊界緊靠住該彈性盒容器的側軸起始邊界,之後的每一行都緊靠住前面一行。

flex-end

元素位於容器的結尾。 各行向彈性盒容器的結束位置堆疊。彈性盒容器中最後一行的側軸起結束界緊靠住該彈性盒容器的側軸結束邊界,之後的每一行都緊靠住前面一行。

space-between

元素位於各行之間留有空白的容器內。 各行在彈性盒容器中平均分佈。如果剩餘的空間是負數或彈性盒容器中只有一行,該值等效於'flex-start'。在其它情況下,第一行的側軸起始邊界緊靠住彈性盒容器的側軸起始內容邊界,最後一行的側軸結束邊界緊靠住彈性盒容器的側軸結束內容邊界,剩餘的行則按一定方式在彈性盒窗口中排列,以保持兩兩之間的空間相等。

space-around

元素位於各行之前、之間、之後都留有空白的容器內。 各行在彈性盒容器中平均分佈,兩端保留子元素與子元素之間間距大小的一半。如果剩餘的空間是負數或彈性盒容器中只有一行,該值等效於'center'。在其它情況下,各行會按一定方式在彈性盒容器中排列,以保持兩兩之間的空間相等,同時第一行前面及最後一行後面的空間是其他空間的一半。

initial

設置該屬性為它的默認值。

inherit

從父元素繼承該屬性。

子元素屬性

flex :1 平分父類的寬度 width就失效了 值是係數 例如1

flex-grow:1 屬性用於設置或檢索彈性盒子的擴展比率

align-self 子元素單獨垂直佈局

order 規定子元素的順序