javascript - 有没有一种巧妙的方法可以使元素 float 以创建具有可扩展元素的网格,而不会使用 HTML/CSS/JS 浪费太多空间?

标签 javascript html css user-interface css-float

我使用 float 构建了一个非常基本的 div 网格:

但是,当展开放置在右侧列中的其中一项时,会发生以下情况(请原谅我用来说明我要实现的目标的粗糙/蹩脚箭头):

这是我所期望的,但不是我真正想要的。我正在寻找一种巧妙的方法,让方框 A 和 B 向上移动以填充空位,并让元素 C-H 向上移动一排,以便最有效地利用可用空间。

这是我创建的 JSFiddle 来说明这个问题(抱歉它不可点击,再次出现堆栈溢出问题...):

http://jsfiddle.net/VDV6S/4/

如果有任何建议,我将不胜感激。

最佳答案

你需要jQuery Masonry ,或类似的东西。

或者,您可以手动将元素分成两列:http://jsfiddle.net/thirtydot/VDV6S/5/

另一种选择是使用 CSS3 columns , 然而 browser support可能 Not Acceptable 。

关于javascript - 有没有一种巧妙的方法可以使元素 float 以创建具有可扩展元素的网格,而不会使用 HTML/CSS/JS 浪费太多空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10056197/

相关文章:

javascript - 删除Attr()问题

javascript - 使用 Angular-ui-router 解决 404 问题

javascript - 使用 javascript 设置鼠标焦点并将光标移动到输入末尾

css - 垂直对齐 div,同时保持它们在 'list-style' 中的顺序

javascript - 将类添加到 html 根目录

c# - asp/css/html内容占位符问题

javascript - 使用 CSS、JavaScript 或 JQuery 在 Android/iOS 设备上放大网页?

Javascript:链接列表:无法删除对象引用

javascript - datepicker 在 Internet Explorer 8 中是透明的

javascript - 即使我使用 React.js 映射包含 1,000 个对象的数组,如何一次仅将 25 个对象渲染到屏幕上