我的問題涉及當你有一個浮動的div(float:left)和一個div之後不浮動的div。在這種情況下,爲什麼沒有unloloated div封面並重疊第一個div?這就像第一個浮動div從第二個未浮動div轉移到第一個div的流程(如絕對定位)中取出。爲什麼未展開的div覆蓋/重疊浮動div? (以「爲什麼」爲焦點)
據我所知,在第二unfloated格文本並沒有這樣做。它似乎意識到第一個div,並浮在旁邊。
我也知道,解決方法是有第二次DIV也向左浮動。
我的問題是一家專注於爲什麼。爲什麼第二個未展開的div(除了可能包含的任何文本)覆蓋並重疊第一個浮動div?
在這裏對堆棧溢出另一個類似的問題,有人說「浮動去除的正常流動的元素,這意味着相鄰元素定位,就好像浮不存在......這不是一個是否的情況下元素具有內聯顯示。「所以我的問題是爲什麼是從正常流程中移除的浮動元素(內聯元素除外)?我明白爲什麼內聯元素就是這種情況(例如,要將文本刷新到浮動div以便在圖像周圍進行自動換行)。但爲什麼它完全從正常流程中移除?
下面是一些代碼來說明我的意思。
.box1 {
border: solid 3px;
width: 350px;
float: left;
height: 100px;
}
.box2 {
background-color: lightblue;
width: 400px;
height: 150px;
border: blue solid 3px;
}
<div>
<div class="box1"></div>
<div class="box2"></div>
</div>
是什麼讓你覺得第二個div被覆蓋浮動DIV?你給浮動的div一個背景顏色? – j08691
爲什麼?因爲這就是浮動行爲的定義。如果它不能從正常流程中移除,則無法實現其目的,即將其自身定位在其容器的左側或右側。其他元素,如果有的話,會阻礙。 –