【发布时间】:2019-06-12 10:07:02
【问题描述】:
我希望mat-sidenav 的背景与我的mat-toolbar 相同 - 主题颜色。
在src\styles.scss 我有:
@import '~@angular/material/prebuilt-themes/indigo-pink.css';
我的模板/HTML 文件有:
<mat-toolbar color="primary">
<button mat-icon-button (click)="sidenav.toggle()">
<mat-icon>menu</mat-icon>
</button>
Title text
</mat-toolbar>
这很好地显示为带有menu 图标和Title text 的靛蓝菜单栏。
下面我想要一个mat-sidenav(将有菜单项),我希望mat-sidenav 区域的整个背景与以下颜色相同:
<mat-toolbar color="primary">
靛蓝 - 由主题定义。
HTML 代码继续渲染mat-sidenav:
<mat-sidenav-container>
<mat-sidenav #sidenav mode="side" opened>
<app-vertical-menu></app-vertical-menu> // renders the menu items
</mat-sidenav>
<mat-sidenav-content>
<div class="app-main-area">
<router-outlet></router-outlet>
</div>
</mat-sidenav-content>
</mat-sidenav-container>
mat-sidenav 背景和颜色不受应用主题的影响,其背景颜色为空白。
我知道我可以使用模板中的类名在组件内设置 mat-sidenav 背景的样式 - 例如:
...
<mat-sidenav #sidenav2 mode="side" opened class="vertical-menu">
...
在 style/scss 文件中:
.vertical-menu {
background-color: navy !important;
}
但我想应用默认主题的主题颜色(例如:indigo-pink.css),所以mat-sidenav 背景颜色与我们用来获取工具栏颜色的主题相同
【问题讨论】:
标签: html css angular angular-material