mat-list
angular/material2のコンポーネントは、16pxの上下のパディングを適用します。これを0pxにしたいです。より高い特異性を持つスタイルを適用しようとしましたが、機能していません(または間違っています)。オーバーライドしようとしているスタイルは次のとおりです。
私はこれをオーバーライドしようとしています:
.list .mat-list .mat-list-item .mat-multi-line .mat-list-item-content {
padding-top: 0;
padding-bottom: 0;
}
<div class="list">
<mat-list>
<mat-list-item *ngFor="let item of queue">
<h1 matLine>{{ item.id }}: {{ item.status}} {{ item.statusDate }}</h1>
<p matLine>{{ item.name }}</p>
<p matLine>for {{ item.customer }}</p>
<div matLine>
<button mat-icon-button (click)="openTab(item)">
<mat-icon fontIcon="icon-open"></mat-icon>
</button>
<button *ngIf="showAssignToMe" mat-icon-button (click)="assignToMe(item)">
<mat-icon fontIcon="icon-assign_to_me"></mat-icon>
</button>
<button mat-icon-button (click)="notes(item)">
<mat-icon fontIcon="icon-comment"></mat-icon>
</button>
</div>
</mat-list-item>
</mat-list>
</div>
以前の提案はどれもAngular 6、7&8
私が提案したのは、非推奨のソリューション( https://angular.io/guide/component-styles#deprecated-deep--and-ng-deep )ですが、引き続き機能します:
:Host /deep/ .mat-list-item-content {
padding: 0!important;
}
別のオプションは、コンポーネントのViewEncapsulationをオフにすることです。
@Component({
selector: 'list',
templateUrl: './list.component.html',
styleUrls: ['./list.component.css'],
encapsulation: ViewEncapsulation.None
})
.mat-list-item{
max-height: 25px;
}
Angular Material 6では、リストアイテム間の空白スペースはパディングではなく、.mat-list-item
高さ。以下を使用して、よりコンパクトなリストを取得できます。
.mat-list .mat-list-item {
height: 50px; /* default is 72px */
}
必要なのは、両方のクラスが同じ要素に適用されるため、.mat-list-item
と.mat-multi-line
の間のスペースを削除することだけです。つまり、セレクターを使用します。
.list .mat-list .mat-list-item.mat-multi-line .mat-list-item-content