2016-06-01 38 views
1

「div#wrapper」是否爲它的後代創建BFC?爲什麼垂直佈局內聯格式框中的框?

<div id="wraper" style="overflow:visible"> 
    <div></div> 
    <div></div> 
<div> 

浮標,絕對定位元素,塊容器(如直列塊,表細胞,和表字幕)未阻斷盒,和塊盒用「溢出」比其他「可見'(除非該值已傳播到視口)爲其內容建立新的塊格式上下文。

「div#wraper」的'overflow'是'visible',所以它不會創建BFC而是內聯格式化上下文。

然而,後代垂直佈局,符合BFC的規則。

如何解釋矛盾,內聯格式上下文框是垂直佈局的?

+3

'display:visible' is not valid css。 –

+0

不,必須有一個可見的溢出值 – prospector

+0

@ Evan Trimboli已經糾正。 – Weapon

回答

1

您的整個問題的前提是有缺陷的。假設內部div保留其默認樣式,那麼它們是塊框,這意味着#wraper無法在這種情況下首先建立內聯格式化上下文。

內部div參與塊佈局,但他們參與已存在的任何BFC(即#wraper本身也參與)。這可以來自符合建立BFC標準的某個祖先;否則,它是根元素的BFC。

+0

你的意思是#wraper在那種情況下建立一個BFC?顯然它不是。 – Weapon

+0

@武器:它既不建立BFC也不建立國際金融公司。 – BoltClock

+0

那麼,#wraper不是一個包含框的塊? #wraper不是內部div的包含區塊?三個div的包含塊是這種情況下的根源嗎? – Weapon