为什么这两个div之间没有插入垂直空间?

时间:2012-02-24 15:17:46

标签: html css

在下面的代码中,我希望在div a和div b之间看到15px的垂直空间。为什么我看不到任何空间?编辑:很多人都没有回答这个问题。我不希望得到一些有用的东西,我想要解释我所看到的行为。

<div class="a"> 
  <span> lkjjj </span>
</div>

<div class="b"> 
  <span> lkj lkjl kjlj l  </span>
</div>



.a { width: 50px; border: 1px solid gray; float: left; }

.b { 
  margin: 15px 0 0 0; 
  clear: both; 
  overflow: hidden;
  border: 1px solid gray; 
 }

这是一个jsfiddle来说明。

http://jsfiddle.net/nUNM6/

6 个答案:

答案 0 :(得分:3)

.a上,您已声明float:left。这将导致它流过.b的边缘。 http://jsfiddle.net/nUNM6/1/

答案 1 :(得分:1)

没有空间,因为您在“a”上使用float:left

答案 2 :(得分:1)

你有漂浮和边缘崩溃

以下是彼此相邻的三个例子 http://jsfiddle.net/nUNM6/6/

仔细检查Firefox Firebug或Chrome Element-Inspector中.b的边距


编辑
在jsfiddle中改变了一些东西

答案 3 :(得分:0)

a块是浮动的,这会导致在计算b的边距时将其计为空白区域。如果您将边距放在a的底部,则可以使用。

答案 4 :(得分:0)

清除float:left,您的保证金将有效

答案 5 :(得分:0)

您可以在两个div之间插入此代码,a&amp; B:

<div class="clear"></div>

使用这个CSS:

.clear {clear:both;}

这将使你的差距显示在两者之间。