A T*_*A T 0 flexbox angular-material angular-flex-layout angular
<div fxLayout="row wrap" fxLayout.xs="column" fxLayoutAlign="space-around center" fxLayoutGap="10px">
<mat-card *ngFor="let o of cards">
<mat-card-header>
<div mat-card-avatar class="example-header-image"></div>
<mat-card-title>{{o.title}}</mat-card-title>
<mat-card-subtitle>{{o.subtitle}}</mat-card-subtitle>
</mat-card-header>
<img mat-card-image [src]="o.url" alt="Photo of {{o.title}}">
<mat-card-content>
<p>
{{o.content}}
</p>
</mat-card-content>
</mat-card>
</div>
Run Code Online (Sandbox Code Playgroud)
在cards
组件上的哪里定义为:
// const url = 'https://material.angular.io/assets/img/examples/shiba2.jpg';
cards: {title: string, subtitle: string, content: string, url: string}[] = [
{ title: 'Title', subtitle: 'Subtitle', content: 'Content here', url },
{ title: 'Title', subtitle: 'Subtitle', content: 'Content here', url },
{ title: 'Title', subtitle: 'Subtitle', content: 'Content here', url },
{ title: 'Title', subtitle: 'Subtitle', content: 'Content here', url },
{ title: 'Title', subtitle: 'Subtitle', content: 'Content here', url },
{ title: 'Title', subtitle: 'Subtitle', content: 'Content here', url },
{ title: 'Title', subtitle: 'Subtitle', content: 'Content here', url },
{ title: 'Title', subtitle: 'Subtitle', content: 'Content here', url },
{ title: 'Title', subtitle: 'Subtitle', content: 'Content here', url },
{ title: 'Title', subtitle: 'Subtitle', content: 'Content here', url },
{ title: 'Title', subtitle: 'Subtitle', content: 'Content here', url },
{ title: 'Title', subtitle: 'Subtitle', content: 'Content here', url },
{ title: 'Title', subtitle: 'Subtitle', content: 'Content here', url },
{ title: 'Title', subtitle: 'Subtitle', content: 'Content here', url },
{ title: 'Title', subtitle: 'Subtitle', content: 'Content here', url },
{ title: 'Title', subtitle: 'Subtitle', content: 'Content here', url },
{ title: 'Title', subtitle: 'Subtitle', content: 'Content here', url },
{ title: 'Title', subtitle: 'Subtitle', content: 'Content here', url },
];
Run Code Online (Sandbox Code Playgroud)
但是,我尝试过的任何方法都不能给行间隔。我试过了fxFlexOffset
,fxLayoutAlign
还有各种gd
前缀的。
我认为您想要的可能是fxLayoutGap,它在每个flex项之间放置了一个空白。在您的示例中,这将是一个水平差距。
<div fxLayout="row wrap" fxLayout.xs="column" fxLayoutGap="16px grid">
<div fxFlex *ngFor="let o of cards">
<mat-card fxFlex>
<mat-card-header>
<div mat-card-avatar class="example-header-image"></div>
<mat-card-title>{{o.title}}</mat-card-title>
<mat-card-subtitle>{{o.subtitle}}</mat-card-subtitle>
</mat-card-header>
<img mat-card-image [src]="o.url" alt="Photo of {{o.title}}">
<mat-card-content>
<p>
{{o.content}}
</p>
</mat-card-content>
</mat-card>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
如果您还希望包装的行之间有垂直间隔,我认为fxLayoutGap的grid选项应该可以为您提供帮助。
编辑:听起来您确实需要grid选项。我对此也感到困惑,因此我在flex-layout GitHub上打开了一个问题。事实证明,网格功能的工作方式存在一些限制。网格行之间的装订线不会应用于flex容器的直接子级,因此我们只需要添加另一个div即可使工作正常。我已经更新了上面的代码,这是一个有成果的堆栈闪电战。
归档时间: |
|
查看次数: |
2528 次 |
最近记录: |