1

我使用 angular 7,我使用 mat-card 和 flex 布局。

我想仅在一行中并排放置,三张卡片将在页面中居中(这意味着三张卡片的位置将在中间)

像这样 : 在此处输入图像描述

我使用这段代码:

.html

  <div fxLayout="row wrap" fxLayout.xs="column" fxLayoutAlign="space-around center" fxLayoutGap="25px">
    <mat-card class="example-card" *ngFor="let member of members" fxFlex="calc(33%-25px)" fxFlex.sm="calc(50%-25px)" >
      <mat-card-header>
        <div mat-card-avatar class="example-header-image"></div>
        <mat-card-title>{{member.title}}</mat-card-title>
        <mat-card-subtitle>{{member.subtitle}}</mat-card-subtitle>
      </mat-card-header>
      <img mat-card-image [src]="member.url" alt="Photo of {{member.title}}">
      <mat-card-content>
        <p>
          {{member.content}}
        </p>
      </mat-card-content>
    </mat-card>
  </div>

.ts

@Component({
  selector: 'app-card-view-demo',
  templateUrl: './card-view-demo.component.html',
  styleUrls: ['./card-view-demo.component.scss']
})
export class CardViewDemoComponent implements OnInit {

  constructor() { }

  ngOnInit() {
  }

  members: {title: string, subtitle: string, content: string, url: string}[] = [
    {title: 'Title', subtitle: 'Subtitle', content: 'Content here', url: '../../assets/img/app/shiba2.jpg'},
    {title: 'Title', subtitle: 'Subtitle', content: 'Content here', url: '../../assets/img/app/shiba2.jpg'},
    {title: 'Title', subtitle: 'Subtitle', content: 'Content here', url: '../../assets/img/app/shiba2.jpg'},
  ];

}

.css

.content {
    padding: 16px;
}

.content > mat-card {
    width: 200px;
}

但根据此代码,卡片是垂直的,而不是在同一行。每张卡片都有 100% 的页面大小。

有人可以通过修改 flex 布局的代码来帮助我做到这一点

4

0 回答 0