Как выровнять левый и правый текст 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*/
}