gpt4 book ai didi

angular - @angular/flex-layout 与行和列间距?

转载 作者:行者123 更新时间:2023-12-03 22:47:49 24 4
gpt4 key购买 nike

StackBlitz (live demo)

<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>

哪里 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 },
];

但是,我没有尝试过在行上给出间距。我试过 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>

如果您还想要包装行之间的垂直间隙,我认为 fxLayoutGap 的 grid 选项应该对您有所帮助。

编辑:听起来您确实需要网格选项。我也对此感到困惑,所以我开了一个 issue在 flex-layout GitHub 上。事实证明,网格功能的工作方式存在一些限制。网格行之间的间距不会应用于 flex 容器的直接子级,所以我们只需要添加另一个 div 以便事情可以工作。我已经更新了上面的代码和 here is a stackblitz与工作结果。

关于angular - @angular/flex-layout 与行和列间距?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54057311/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com