我正在努力尝试用两个基于行的mat-list-items设置mat-nav-list。第一行应该是水平居中的图像,第二行应该是标题文本也居中的图像。我都显示了,但是img / icon没有居中。 :/
以下是一些代码:
<mat-nav-list class="list-container">
<a mat-list-item routerLink="/somewhere" routerLinkActive="active-link">
<span matLine class="icn_log"></span>
<span matLine>Centered Text</span>
</a>
</mat-nav-list>
我也使用了一些样式,更多地用于填充和添加边框。但是,如何使带有图标的第一个跨度也能居中放置命令呢?:
.list-container {
width: 100%;
padding-top: 1px;
border-right: 1px solid;
border-color: #ddd;
text-align: center;
}
.list-container .mat-list-item {
border: 1px solid;
border-right: 0px;
border-color: #ddd;
margin-top: -1px;
height: 80px;
}
.list-container .mat-list-item .mat-line {
padding-top: 5px;
padding-bottom: 5px;
}
.icn_log {
height: 32px;
width: 32px;
background-repeat: no-repeat;
background-image: url("assets/img/log.png");
background-position: 0;
}
答案 0 :(得分:0)
编辑-
尝试将0
的背景位置从center
更改为icn_log
,将width
的背景位置更改为100%
.icn_log {
width: 100%;
background-position: center;
}
答案 1 :(得分:0)
尝试像这样使用mat-icon
指令:
<mat-list>
<a mat-list-item>
<mat-icon></mat-icon>
<span matLine>Centered Text</span>
</a>
</mat-list>
在mat-icon
中,您可以使用https://material.io/tools/icons。如果您不熟悉实质性图标,则可以遵循以下指南:https://google.github.io/material-design-icons/。
答案 2 :(得分:0)
暂时有一个解决方法,但它将被弃用,详情请见此处
https://angular.io/guide/component-styles#deprecated-deep--and-ng-deep
:host ::ng-deep .mat-list-item-content {
flex-direction: column !important;
}
答案 3 :(得分:-1)
尝试:
<mat-nav-list class="list-container">
<a mat-list-item routerLink="/somewhere" routerLinkActive="active-link">
<center>
<span matLine class="icn_log"></span>
<span matLine>Centered Text</span>
</center>
</a>