Как выровнять левый и правый текст mat-card-header в угловых 4?

Мне нужно выровнять текстовое содержимое в заголовке слева и справа от заголовка тега. Я пробовал разные идеи, но ни одна из них не работает для меня. Помоги мне.

 <div style="width: 40%">
  <mat-card>
    <mat-card-header class="card-container">
      <mat-card-title class="card-container-right"> Test right</mat-card-title>
      <mat-card-title class="card-container-left"> Test left</mat-card-title>
    </mat-card-header>
    <mat-card-content>
    </mat-card-content>
  </mat-card>
</div>

2 ответа

Вы также можете сделать это, если вы хотите продолжать использовать mat-title элементы:

Смотрите рабочий пример StackBlitz

В вашем (я назову это) файле example-card.component.html

<mat-card  >
<mat-card-header>
 <mat-card-title class="card-container-left"> Test left</mat-card-title>
 <mat-card-title class="card-container-right"> Test right</mat-card- title>
</mat-card-header>
<mat-card-content>
</mat-card-content>

Тогда в вашем примере-card.component.css

.card-container-right{
  display: inline;
  float: right;
}

.card-container-left{
  display: inline;
}

... и, наконец, в твоих стилях. CSS

.mat-card-header-text{
  width: 100% !important;
}

Хитрость в этом заключается в переопределении угловых материалов .mat-card-header-text быть 100% ширины mat-card-header, В противном случае он ведет себя как встроенный элемент и занимает только ширину текста его дочерних элементов. Предотвращение вас от расстояния

Вы можете использовать то, что дизайн материала использует в мат-панели инструментов

<mat-card-title>
   <span>Test left</span>
   <span class="fill-remaining-space"></span>
   <span>Test right</span>
</mat-card-title> 

в вашем.css

.fill-remaining-space {
   flex: 1 1 auto;
}

Извините, это не работает!!!!! Работает в Mat-Toolbar, но не в Mat-card Title.

Вот как это работает, я знал, что где-то использовал

<mat-card>
  <mat-card-title-group>
    <span>Test left</span>
    <span class="fill-remaining-space"></span>
    <span>Test right</span>
  </mat-card-title-group>
</mat-card>

см.: https://stackblitz.com/edit/angular-rb5vmu для рабочего примера

Добавить пользовательские CSS в класс заголовка.mat-card

 .mat-card-header{
        justify-content: flex-end /* for right*/
        justify-content: flex-start /* for left*/
        justify-content: centre /* for center*/

    }
Другие вопросы по тегам