我正在使用 Angular 4 以及官方的 @angular/material-design 和 @angular/flex-layout API 构建一个 SPA。我想显示一些项目的变量列表 ( app-project-list
),我用 Md-Cards ( app-project-card
) 表示。在此页面上可以看到我希望它如何成为的一个完美示例:wo3.com/work
目标是这里有一个响应式卡片列表:
- 在桌面上,它们应该被放置在环绕的行中
- 它们之间应该有一些余量
- 如果列表中的最后一张卡片是该行中唯一的一张,则它应该左对齐
- 在较小的屏幕上,列数应该减少
- 在移动设备上(断点为
xs
),列表应显示在一列中
这是我到目前为止的代码,它有问题:
//project-list-component
<div fxLayout="row wrap" fxLayoutGap="1em" fxLayoutAlign="center center" fxLayout.lt-sm="column">
<app-project-card *ngFor="let p of projects | async" [project]="p">
</app-project-card>
</div>
//project-list-component.css
app-project-card {
margin-top: 1em;
}
//project-card-component starts with md-card as root element, nothing special here
<md-card>
...
</md-card>
问题
- 当在桌面和一行中的所有项目上时,它看起来很好
- 一旦你调整它的大小,最后一个项目就会被包裹在一个新行中并在中心对齐,但我需要这个在行的开头对齐示例
- 当一个或多个项目被包装时,它们不会在第一行下方对齐,而是向右偏移 1em(见第一张图片)
- 当屏幕变小时,卡片不会填满所有可用空间,左右有大量空白
我在这里查看了所有三个类似的问题,但是这些都没有满足要求(请参阅这个 angularJS 问题和这个 angular2 问题)。任何帮助深表感谢!