Как поместить Mat-Card Mat-card-action внизу карты, когда мы создаем карты динамически

<div class="col-xs-6 col-md-4 home-content" *ngFor="let s of abc">
    <mat-card>
        <mat-card-header>
            <mat-card-title>{{s.header}}</mat-card-title>
        </mat-card-header>
        <mat-card-content>
            <p> {{s.Desc}} </p>
        </mat-card-content>
        <mat-card-actions>
            <button mat-raised-button type="submit" color="primary">Submit</button>
        </mat-card-actions>
    </mat-card>
</div>
<div class="col-xs-6 col-md-4 home-content" *ngFor="let s of abc">
    <mat-card>
        <mat-card-header>
            <mat-card-title>{{s.header}}</mat-card-title>
        </mat-card-header>
        <mat-card-content>
            <p> {{s.Desc}} </p>
        </mat-card-content>
        <mat-card-actions>
            <button mat-raised-button type="submit" color="primary">Submit</button>
        </mat-card-actions>
    </mat-card>
</div>

3 ответа

Добавить в таблицу стилей:

.mat-card{
  display:flex;
  flex-direction: column;
}

.mat-card-header {
  flex-shrink: 0;
}

.mat-card-content{
  flex-grow: 1;
  overflow: auto;
}

шрифт: https://github.com/angular/material2/issues/11094

Решения, если вы используете

<mat-card>
  <mat-card-header>
    <mat-card-title>title</mat-card-title>
    <mat-card-subtitle>subtitle</mat-card-subtitle>
  </mat-card-header>
  <mat-card-content>
  
  </mat-card-content>
  <mat-card-actions>
    <button mat-button>Ok</button>
  </mat-card-actions>
</mat-card>
  • добавить класс к мат-карте.card-internals { min-height: 200px; justify-content: пробел между; дисплей: гибкий; flex-direction: столбец; }

Я предпочитаю такой интервал

header
content

action

задавать

display: flex; justify-content: start; flex-direction: column; flex-wrap: wrap;

на мат-карте и margin: auto 0 0; на коврике действия карты

Если вы используете загрузку, вы также можете сделать это следующим образом:

      <mat-card class="h-100">
    ...
    </mat-card-content>
    <div class="flex-fill"></div>
    <mat-card-actions>
    ...
</mat-card>

Где flex-fill использует следующий CSS:

      .flex-fill {
    flex: 1 1 auto !important;
}

и ч-100:

      .h-100 {
    height: 100% !important;
}
Другие вопросы по тегам