html - 使 div 适合可用空间?

标签 html css

<分区>

我有许多高度不同但宽度固定的 div,例如:

---- ----
|  | |  |
|  | ----
----

我希望他们按如下方式填写页面:

---- ----
|  | |  |
|  | ----
---- ----
---- |  |
|  | ----
----

...但我似乎无法摆脱让他们像这样填写:

---- ----
|  | |  |
|  | ----
----         
---- ----
|  | |  |
---- ----

我不希望将它们分组到列中。是否有 CSS 规则允许它们动态填充上面的空间?

编辑:感谢您的快速回复。

我专门要求进行 CSS hack 以避免使用 jQuery。这是一个相当微不足道的 jQuery 问题(我的 jQuery 比我的 CSS 好!),只是想知道我是否可以单独使用 CSS 来解决。

最佳答案

您始终可以使用 CSS3 列,就像这样:

<!-- html -->
.container>.item*5{lorem}

<!-- css -->
.container { column-count: 3; column-gap: 1em; }
.container .item { column-break-inside: avoid; }

看看这个Example

显然,唯一的缺点是浏览器支持,因为很多浏览器还不支持这个东西,所以你应该回退到 javascript 解决方案,比如 Masonry应该工作得很好。

关于html - 使 div 适合可用空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20268117/

相关文章:

javascript - jQuery 使用 toggleClass 选择所有复选框

html - 始终使用 flexbox 将按钮定位在表单底部

jquery - FancyApps 中不显示关闭按钮

javascript - 代码在底部时是否需要 'onload'?

html - 如何结合来 self 的网站和 Facebook 本身的 Facebook 点赞

css - 将 html 简历(及其 CSS 样式表)嵌入到另一个 html 页面

HTML div 自动宽度

html - NGINX 不加载外部 css 文件

html - 可悬停的导航图标

css - 如何更改 ui-grid 行的高度?