Angular 5
で次のコードを使用:
<mat-card>
<mat-card-title> Test message </mat-card-title>
</mat-card>
どうすればこれを取得できますか(一部のテキストは左揃え、一部のテキストは右揃えです)?
私はdiv
を作成してcss
が事前定義された段落の内側に配置しようとしましたが、うまくいきませんでした。
コンテナーとフレックスプロパティを使用して、行数を減らしてコンテンツに合わせて調整することもできます。
<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が明確で読みやすくなります。
フレックスボックスを使用:
.container {
display: flex;
}
.fill {
flex: 1;
}
<div class="container">
<div>Card</div>
<div class="fill"></div>
<div>Title</div>
</div>
画像が表示されませんが、これはフレックスレイアウトを使用して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>
以前のポスターは問題に十分に対処していますが、カードのコンテンツを追加すると、さらに複雑になります。より完全な解決策については、この回答を確認することをお勧めします: 左と右のテキストmat-card-headerをangular 4?)で整列する方法