6

我需要对齐标题标签左右两侧标题中的文本内容。我尝试了不同的想法,但没有一个适合我。帮我。

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

3 回答 3

11

如果您想继续使用这些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>

然后在你的example-card.component.css

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

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

..最后在你的styles.css中

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

解决这个问题的技巧是覆盖 Angular 材质.mat-card-header-text使其 100% 的宽度为mat-card-header. 否则,它的行为类似于内联元素,并且只占用其子元素文本的宽度。防止你把它们隔开。

于 2018-08-24T17:35:26.540 回答
5

您可以使用 mat-toolbar 中使用的材料设计

<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

于 2018-08-24T17:15:29.473 回答
4

在.mat-card-header类上添加自定义 CSS

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

    }
于 2019-02-20T10:54:32.610 回答