如何在没有垂直空间时让DIV向左浮动

时间:2013-09-07 09:59:11

标签: javascript jquery css html

我正在处理目前看起来像这样的横向页面布局:

Div B,C和D具有浮动:左侧属性,因此所有DIV并排排列,这就是我想要的。

(请记住,滚动页面时右侧会出现更多DIV)

+----------------------------------------+
| Div A                                  |
|                                        |
|  +----------+ +----------+ +--------+  |
|  | Div B    | | Div C    | | Div D  |  |
|  |          | |          | |        |  |
|  +----------+ +----------+ |        |  |
|                            |        |  |
|                            |        |  |
|                            +--------+  |
+----------------------------------------+

还有一个问题,我希望它能让DIV在有足够空间时垂直对齐,所以它看起来像这样:

+---------------------------+
| Div A                     |
|                           |
|  +----------+ +--------+  |
|  | Div B    | | Div D  |  |
|  |          | |        |  |
|  +----------+ |        |  |
|               |        |  |
|  +----------+ |        |  |
|  | Div C    | |        |  |
|  |          | |        |  |
|  +----------+ |        |  |
|               +--------+  |
+---------------------------+

所以我想我正在寻找一种方法来只应用浮动:如果没有剩下垂直空间,则留给DIV,如果可能的话。

谢谢

1 个答案:

答案 0 :(得分:1)

你可以通过许多简单的方法来做你想做的事情,这只是你所采用的3个div。

例如,你可以拿一个div来放置你的div B&下进行。

或者你可以选择flexbox(flexbox FTW!)

或者您可以将所有位置设为绝对位置并逐个像素地设置所有位置。如果你有很多div,如果你想让它变得敏感,那将是非常复杂的......除非有一个很棒的图书馆为你做这件事......情况确实如此!

起初你有masonery:http://masonry.desandro.com/

然后你有同位素:http://isotope.metafizzy.co/

现在你有了包装:http://packery.metafizzy.co/

-

全部由同一个人写的。第一个是免费的,另一个是许可价格(但是如果你想分叉并自己制作,所有代码都在github上)