html - float :left being thrown off by varying size divs

标签 html css

<分区>


关闭 7 年前

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

这是我的意思的一个例子:http://jsfiddle.net/qj4dzgyo/4/

如您所见,第二行的部分并没有完全向左浮动,因为顶行的一个部分的标题较长,使 div 更大。无论如何我可以解决这个问题吗?谢谢!

最佳答案

If one is bigger than the rest, is basically "holds up" the "row" underneath it.

这就是 float 的工作原理。

如果你不想这样,那么使用 display:inline-block 而不是 float,参见 http://jsfiddle.net/qj4dzgyo/5/

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


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

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

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

关于html - float :left being thrown off by varying size divs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32658485/

上一篇:html - 显示 :flex or height:auto not working

下一篇:html - 表格单元格中的下拉菜单仅通过 CSS

相关文章:

html - 如何使带有背景图像的导航栏居中?

php - 无法通过html表单更新Mysql数据库中的一列

html - 将元素分组为两列并将它们对齐到顶部(使用 Flexbox)

javascript - 如何在 Angular Material 中的 md-backdrop 后面接收 ng-click 事件

html - TD 上的模态选项正在增加表格中 TD 的行高

javascript - 在 Retina iPhone 上正确设置设备宽度和比例? CSS

html - 下拉导航菜单 <li> 居中问题

html - CSS:无法使所有链接水平滚动超出页面宽度

CSS3 多立方体

jquery - 淡入背景/div,标题/div 始终在顶部可见