2016-02-18 40 views
1

試圖添加一個百分比margin-top到Flex容器內的項目,我注意到Firefox和Chrome之間的不一致。百分比保證金應如何處理彈性項目?

如果柔性項聲明margin-top: 25%,火狐解釋,作爲把它在父的高度的25%(在此情況下25個像素):

Firefox rendering

如果父元素的寬度是改變了,子元素不會垂直移動,我發現這很直觀。

但是當我試圖在鉻一樣,我發現,餘量頂部被作爲母體的25%寬度(50個在這種情況下像素):

Chrome rendering

如果父元素的寬度發生了變化,子元素向上或向下移動,我發現它對於從頂部聲明爲25%的元素真的很奇怪。

Complete code on jsFiddle

現在,什麼是正確的行爲?哪個瀏覽器正在搞砸?

回答

2

spec

比例的利潤和Flex的項目補白總是解決針對其各自的尺寸;與塊不同,它們並不總是根據其包含塊的內聯維度來解決。

注意:此行爲目前存在爭議,並可能在未來版本的規範中更改以匹配塊的行爲。


哪個瀏覽器搞砸了?

正如你所看到的......兩者兼而有之。 :)

+0

Greaaaaat,因此Firefox根據規範進行操作,但Chrome希望將其更改爲不太直觀的行爲(爲了與舊有的古怪行爲保持一致),因此它實現了不同的flexbox,並且Chrome市場份額優勢,它可能最終導致規範改變:( – epidemian

+0

你會感到驚訝,工作組可能是一個比你想象的更明智的組。 –

相關問題