2016-09-12 46 views
5

在下面的例子中,所有穩定的支持flexbox的瀏覽器都能正確呈現頁面。Flexbox「align-items:center」在Chrome beta上無法正常工作

查看jsfiddle here

由於​​三個彩色塊在section元素分佈均勻:

Firefox 48.0

然而,在最新的Chrome測試版(54)和巴倫西亞(55)版本,相同的例子獲取呈現像這樣:

Chrome beta 54

難道這將成爲align-items在未來的版本中預期的行爲Ø f Chrome?或者這是一個錯誤......


UPDATE

Michael_B's answer在這個特殊的佈局清理align-itemsalign-content之間的差異。他的jsfiddle應該用於測試佈局。

不過,即使有正確的Flexbox的特性,Chrome測試版和金絲雀沒有呈現佈局的方式,他們應該是:

enter image description here

+0

'align-items'應該對齊單個行項目(因此名稱)中的項目。要集中多行(所有內容),請使用'align-content:center;'。 – Paul

+0

'align-content:center;'修復垂直居中問題,但是這些元素不會以這種方式均勻分佈。 – DeanAlexRainier

+0

正確,我認爲這個問題是關於線條在頂部而不是在中心。你有嘗試過嗎?align-content:space-around;'?這會給你預期的結果嗎? – Paul

回答

2

正確的方法來實現上述佈局與align-content: space-arounddemo )。

當處理多線柔性容器時,align-content是要使用的屬性。

從規格:

8.4. Packing Flex Lines: the align-content property

align-content財產對齊內 柔性容器的線條柔性容器時,存在交叉軸額外的空間, 類似如何justify-content對齊主軸內的各個項目。

請注意,此屬性對單行flex 容器沒有影響。

只有多線柔性集裝箱在橫軸 中有空閒空間才能對齊線條,因爲在單線柔性集裝箱 中,唯一線會自動拉伸以填充空間。

+0

感謝您澄清'align-items'和'align-content'。我將編輯我的問題。但是當我在Chrome beta或Canary上使用'align-content'查看您的修訂示例時,不正確的呈現佈局仍然存在。你能證實這一點嗎? – DeanAlexRainier

+0

我無法在此PC上訪問該版本。它是否在列方向工作? https://jsfiddle.net/v966v6pp/10/ –

+0

這工作。所以基本上,對於這樣的佈局,你必須引入一個額外的元素來包含水平項目。 – DeanAlexRainier

相關問題