2014-12-01 78 views
0

的jsfiddle:http://jsfiddle.net/techsin/ur2w4p86/如何防止浮动DIV从没有延长兄弟姐妹

<div class="cont"> 
    <div class="a"></div> 
    <div class="b"> 
     asdfsdf 
    </div> 
</div> 

如果我添加左填充到.B,其内容没有得到影响,直到填充比的宽度。一,正在漂浮。所以基本上浮动元素扩展它下面的div像兄弟b。

我不想那样。我想第二个div与a相邻,并占据其余的空间。我不能使用内联块,因为那么我必须定义第二个div的确切宽度,这不是我想要的,并且没有css唯一方法来告诉第二个div来填充可用空间。

+0

力了解您的具体要求,那么你希望你的结局是什么样子? – 2014-12-01 18:40:47

+0

当我将填充应用于.b时,由于左侧已扩展并且距离太远而无法对内容产生影响,因此无法将其应用于左侧。 – 2014-12-01 18:49:06

+0

发生这种情况是因为你有左侧浮动和右侧100%的宽度.b – EternalHour 2014-12-01 20:23:16

回答

1

问题正在发生,因为您将.b左移(将其从流中移出)和.a宽度为100%。如果你想保持你的布局这种方式,你需要使用的。一个替代padding-left一个margin-right上.B

.a { 
    background-color: green; 
    width: 26%; 
    float: left; 
    margin-right: 10px; 
} 
+0

是不是像一个黑客 – 2014-12-01 20:27:46

+0

这不是一个真正的黑客,它是唯一的方法来解决你的当前布局。 – EternalHour 2014-12-01 20:30:24

+0

我在非浮动元素上添加了自动溢出功能,它也做了同样的事情 – 2014-12-01 20:34:31