【发布时间】:2019-06-14 20:05:30
【问题描述】:
我想在我的应用程序左侧集成一个导航栏。但是css中的继承好像不行。
导航工具栏应该像视频中一样继承角度材料“IF”的样式,我做对了。现在基本上没有继承任何东西。我在控制台中没有错误,我确定,我已经导入了机器人等。
因为我是这个领域的新手,所以我通过 youtube 视频获得指导: https://www.youtube.com/watch?v=Q6qhzG7mObU 我更新了我的 npm 和 ng。此外,我使用 'ng add @angular/material' 来确保所有内容都已正确配置和导入。
app.module.ts:
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { MainNavComponent } from './main-nav/main-nav.component';
import { LayoutModule } from '@angular/cdk/layout';
import { MatToolbarModule, MatButtonModule, MatSidenavModule, MatIconModule, MatListModule } from '@angular/material';
@NgModule({
declarations: [
AppComponent,
MainNavComponent
],
imports: [
BrowserModule,
AppRoutingModule,
BrowserAnimationsModule,
LayoutModule,
MatToolbarModule,
MatButtonModule,
MatSidenavModule,
MatIconModule,
MatListModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
styles.css:
html, body { height: 100%; }
body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; }
这是材质工具栏的自动生成模板 main-nav-component.ts:
<mat-sidenav-container class="sidenav-container">
<mat-sidenav #drawer class="sidenav" fixedInViewport="true"
[attr.role]="(isHandset$ | async) ? 'dialog' : 'navigation'"
[mode]="(isHandset$ | async) ? 'over' : 'side'"
[opened]="!(isHandset$ | async)">
<mat-toolbar>Menu</mat-toolbar>
<mat-nav-list>
<a mat-list-item href="#">Link 1</a>
<a mat-list-item href="#">Link 2</a>
<a mat-list-item href="#">Link 3</a>
</mat-nav-list>
</mat-sidenav>
<mat-sidenav-content>
<mat-toolbar color="primary">
<button
type="button"
aria-label="Toggle sidenav"
mat-icon-button
(click)="drawer.toggle()"
*ngIf="isHandset$ | async">
<mat-icon aria-label="Side nav toggle icon">menu</mat-icon>
</button>
<span>XML-ConfiguratorV2</span>
</mat-toolbar>
<!-- Add Content Here -->
</mat-sidenav-content>
</mat-sidenav-container>
这里是有问题的css:
.sidenav .mat-toolbar {
background: inherit;
}
现在我实际得到的结果是这样的:
感谢您的帮助:D
【问题讨论】:
-
您是否尝试过包含official documentation 中提到的标准主题之一?只需在您的
styles.css顶部添加@import '@angular/material/prebuilt-themes/deeppurple-amber.css';。 -
截图正在我这边工作。我用'ng add'做到了。该样式适用于应用程序,但继承 mat-sidenav 的样式似乎不起作用。 link“截图”
标签: angular npm angular-material