浮动:左边被不同大小的div抛弃

时间:2015-09-18 18:10:58

标签: html css

我有一堆.section个div,它们有一个图像和一个标题。它们都是漂浮的:带状的。只要.section divs的大小相同,一切都很好。如果一个人比其他人大,基本上“撑起”它下面的“行”。

以下是我的意思:http://jsfiddle.net/qj4dzgyo/4/

正如您所看到的,第二行上的部分并未完全浮动到左侧,因为顶行中的一个部分具有更长的标题,使div更大。无论如何我可以解决这个问题吗?谢谢!

2 个答案:

答案 0 :(得分:1)

  

如果一个人比其他人大,基本上“撑起”它下面的“行”。

浮动是如何工作的。

如果您不想这样,请使用display:inline-block代替浮动,请参阅http://jsfiddle.net/qj4dzgyo/5/

(请注意,在此示例中,我将元素的宽度从20%更改为19%,因此它们中的五个仍适合一行。在这方面,您可能还想阅读https://css-tricks.com/fighting-the-space-between-inline-block-elements/。 )

或者,如果你总是有五个浮动元素彼此相邻(似乎是给定的,宽度为20%),你也可以清除每5n + 1的浮点数:

.section:nth-child(5n+1) {
    clear:left;
}

http://jsfiddle.net/qj4dzgyo/6/

答案 1 :(得分:0)

只需向margin: 1px课程添加.section

如果你的文字太大,你可能不得不使用弹性框,但是对于那些长篇文章,例如你的例子,这个修复可以做到。

试试这个FIDDLE