2013-11-20 94 views
-1

我玩過負邊距,我知道我的問題的解決方案,但爲什麼側邊欄div與側邊欄頭div重疊?在這種情況下,我想了解css的行爲。負邊距和重疊div

http://codepen.io/anon/pen/sjpqv

+0

因爲在側欄上有負向左邊距。嘗試從沒有負邊距開始的代碼,然後將其僅添加到標題。您可以看到整個標題+側欄左移。所以如果你添加另一個-350的側邊欄,那當然會重疊。 – Huangism

+1

什麼是問題?這就是負利潤率的問題 – DaniP

+1

我不明白這個問題,這個「利潤」是什麼。你的問題無異於問爲什麼披薩味道比薩。 –

回答

0

當浮動左兩個div元素,每一個都將被定位在左側,並排。他們的訂單是基於在html中輸入的訂單。

它們都在div類中,類名爲container,左邊距爲350px,這意味着其內容(兩個浮動div)將從左側移動350px。

然後在第一個div .sidebar-header上輸入一個負值左邊距350px,這會導致將該div移動到文檔左側最初的左側。這也會導致第二個浮動格.sidebar停留在一邊。第一個浮動區域.sidebar-header的寬度爲330px。所以第二個div距離左側330px,因爲它仍然位於第一個div的一側。

當您將負350px的左邊距放置到第二個div時,您也將它移動到文檔的最左側,因爲它距離第一個div只有330px,與之重疊。例如,如果第一個div,.sidebar-header的寬度大於350px,那麼它們最終不會重疊。

+0

因此,每個浮動元素的負餘量在內部訂單後停止? – dollseb