【发布时间】:2017-04-06 04:33:03
【问题描述】:
我需要Angular Material 的以下布局,卡片从左到右插入,在可用宽度的末端换行并填充卡片之间的任何垂直空间。所有卡片的宽度相同,但高度不同:
这可以用普通的 Angular 和 CSS 实现吗?怎么样?
我尝试使用display:flex 完成此操作,但无法摆脱垂直空间:
.cards {
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
}
我还找到了一个纯 CSS 解决方案,解决了空间问题,但顺序不同,还需要固定高度: https://codepen.io/michellebarker/pen/zvxpoG
更新
其他要求:
- 响应式布局:取决于窗口,有更少或更多的列;但它们总是填满所有可用空间(自适应列宽,例如 100%、50% 等)
- 卡的插入必须使用
ng-repeat="card in cards | orderBy:order:reverse"
【问题讨论】:
-
所有内容都必须放在一个容器中是否有原因?您能否拥有三个(列)容器并将每张卡片插入 cardCount%3 列?
-
一个容器的原因是布局必须是响应式的,因此根据当前的分辨率(横向/纵向/屏幕尺寸),布局具有不同的列数。
标签: html css angularjs layout material-design