【发布时间】:2017-01-08 17:31:26
【问题描述】:
我已经完成了 2 个与我遇到的问题相关的问题。但在这里我创建了一个更好的例子。请看下文。 Angular ng-bind 正在加载这些框。
请看下面的代码笔: http://codepen.io/anon/pen/LRPwZP
同样,我将相同的 sn-p 包含到 stackoverflow 中,但请注意,无法调整分辨率大小,因此,该示例可能没有用。
注意期望的行为非常重要:
- 每个框的宽度相同(实际为 700 像素)
- 希望框 #1 位于左上角。
- 只有在有足够空间的情况下,才希望框 #2 位于框 #1 的右侧。
- 如果屏幕仍有空间,则框 #3 位于框 #2 的右侧。
- 现在,假设框 #3 的右侧不再有空间
- 框 #4,位于框 #1 的底部。
- 框 #5,直接位于框 #2 的底部。
- 框 #6,直接位于框 #3 的底部。
- 等等……
- 框是使用 Angular ng-bind 加载的,并且是动态的。
我无法使用以下选项:
(1)
:nth-child(odd) { float: left; }
:nth-child(even) { float: right; }
原因:当您需要超过 2 列时无用且失败。
(2) 我知道 AngularJS Masonry,我不想增加加载时间,我想只使用 CSS 来完成。
供参考:
- 没有使用任何 CSS 框架。
- 正在使用纯“Vainilla”JS - 偶尔。
- AngularJS 被大量使用。
以前的问题,相同的问题:
CSS multiple different height float left elements arranged in 2 columns
Flex, AngularJS + Masonry, akoenig/angular-deckgrid and more
亲切的问候, 克里斯,
【问题讨论】:
-
另一个更好的欺骗目标 - stackoverflow.com/q/8470070/2930477
标签: javascript html css angularjs flexbox