2013-11-20 52 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