在 mat-card-title 中左右对齐

Posted

技术标签:

【中文标题】在 mat-card-title 中左右对齐【英文标题】:Align left and right in mat-card-title 【发布时间】:2018-09-26 06:22:52 【问题描述】:

Angular 5中使用以下代码:

  <mat-card>
      <mat-card-title> Test message </mat-card-title>
  </mat-card>

我明白了:

我怎样才能得到这个(有些文本是左对齐的,有些文本是右对齐的)?

我尝试创建 div 并使用预定义的 css 放入段落中,但没有成功。

【问题讨论】:

第二张图片的 html 是如何创建的 - 是 2 组卡片还是 2 组标题? @Pete,我没有第二张图片的 html。我正在努力寻找如何制作的答案。目前我只有第一张图片 啊,我可能会使用 venessa 的解决方案(除了固定宽度 - 这是可选的) 【参考方案1】:

我看不到图像,但这是使用 flex 布局在 div 中拆分文本的方法

.container 
  /* Style */
  height: 64px;
  line-height: 64px;
  background: teal;
  color: white;
  font-family: Helvetica;
  padding: 12px;
  box-sizing: border-box;
  /* Actual logic */
  display: flex;
  align-items: center;
  justify-content: center;


.container div:last-child 
  text-align: right;


.container div 
  flex: 1 1 auto;
<div class="container">
  <div>Card</div>
  <div>Title</div>
</div>

【讨论】:

【参考方案2】:

使用弹性框:

.container 
  display: flex;


.fill 
  flex: 1;
<div class="container">
  <div>Card</div>
  <div class="fill"></div>
  <div>Title</div>
</div>

【讨论】:

【参考方案3】:

你也可以用更少的行来做到这一点,并通过使用容器和 flex 属性更好地适应内容:

<mat-card class="card-container">
  <mat-card-title > Test message </mat-card-title>
  <mat-card-title> Test message </mat-card-title>
</mat-card>

还有这个 CSS:

.card-container 
  /*  not needed styles to reflect it */ 
  background: blue;
  padding: 10px;
  color: white;
  width: 500px;

  /* needed styles below */
  display: flex;
  justify-content: space-between;

您可以在此处查看工作示例:https://jsfiddle.net/VanessaRC/Lz9vz6bs/1/

这将确保,如果您将宽度调整为所需的容器,样式会很好地调整以适应而不会破坏,并使您的 HTML 清晰易读。

【讨论】:

【参考方案4】:

虽然之前的海报充分解决了这个问题,但一旦添加卡片内容,它就会变得更加复杂。 我建议查看此答案以获得更完整的解决方案:How to align left and right text mat-card-header in angular 4?

【讨论】:

以上是关于在 mat-card-title 中左右对齐的主要内容,如果未能解决你的问题,请参考以下文章

如何在 UITableViewCell 中左对齐或右对齐 UILabel

Android Layout在水平布局中左右对齐

如何在引导程序中左右对齐导航栏的列表项

当第一个 Grid 项目是固定宽度时,如何在 Material UI 中左右对齐两个 Grid 项目?

http协议

如何在 ios Swift 的 UIView 中左右设置阴影?