我正在尝试使用在移动设备和平板电脑等小屏幕中折叠的角材料2创建导航栏。我只能找到md-button而不是md-menu-bar,就像在角材料中一样如何使用角材料2制作响应式导航栏?
17
A
回答
30
下面是我用来构建自己的响应式nav-bar
的应用程序,该应用程序在angular-cli
应用程序中使用Angular2 + Material 2和flex-layout。
(请访问Install Angular Material and Angular CDK)
1)安装柔性布局
npm install @angular/flex-layout -save
2)包括柔性布局在app.module.ts
import {FlexLayoutModule} from "@angular/flex-layout";
3)进口
imports: [
BrowserModule,
FormsModule,
HttpModule,
RoutingModule,
FlexLayoutModule,
MyOwnCustomMaterialModule // Please visit the link above "Install Angular Material and Angular CDK", and check (Step 3: Import the component modules).
],
app.component.html
<mat-toolbar color="primary">
<button mat-button routerLink="/">
<mat-icon>home</mat-icon>
{{title}}</button>
<!-- This fills the remaining space of the current row -->
<span class="fill-remaining-space"></span>
<div fxLayout="row" fxShow="false" fxShow.gt-sm>
<button mat-button routerLink="/products">Products</button>
<button mat-button routerLink="/dashboard">Dashboard</button>
</div>
<button mat-button [mat-menu-trigger-for]="menu" fxHide="false" fxHide.gt-sm>
<mat-icon>menu</mat-icon>
</button>
</mat-toolbar>
<mat-menu x-position="before" #menu="matMenu">
<button mat-menu-item routerLink="/products">Products</button>
<button mat-menu-item routerLink="/dashboard">Dashboard</button>
<!--<button mat-menu-item>Help</button>-->
</mat-menu>
app.component.css
.fill-remaining-space {
/*This fills the remaining space, by using flexbox.
Every toolbar row uses a flexbox row layout. */
flex: 1 1 auto;
}
注:测试,调整页面大小。
看看flex-layout文档
5
看看github上的angular2-material
项目。这是到目前为止,他们已经公布的材料设计的组件列表:
https://www.npmjs.com/~angular2-material
另外,我觉得无论是md-sidenav
或md-toolbar
是你在找什么。
md-sidenav
- https://www.npmjs.com/package/@angular2-material/sidenav
md-toolbar
- https://www.npmjs.com/package/@angular2-material/toolbar
注:该项目仍处于alpha版本,这意味着可以有自己的API中的重大更改。不建议在生产中使用。
1
我粗试图修改以与作为角材料的新组件名称抽屉实现工具栏答案5.0.2
要做到:需要得到CSS所有标题链接的固定。菜单图标应该是透明的。
https://responsivematerial2.stackblitz.io/
.mat-sidenav-container {
background: rgba(0, 0, 0, 0.08);
}
.blank-grow {
flex: 1 1 auto;
}
<mat-sidenav-container fullscreen>
<mat-sidenav #sidenav>
<mat-nav-list>
<a mat-list-item>
<mat-icon mat-list-icon>home</mat-icon>
<span mat-line>home</span>
</a>
<a mat-list-item>
<mat-icon mat-list-icon>backup</mat-icon>
<span mat-line>Backup</span>
</a>
</mat-nav-list>
</mat-sidenav>
<mat-toolbar color="primary">
<button mat-icon-button (click)="sidenav.open()" fxHide="false" fxHide.gt-sm>
<mat-icon>menu</mat-icon>
</button>
<span> Big Header</span>
<span class="blank-grow"></span>
<div fxLayout="row" fxShow="false" fxShow.gt-sm>
<a>
<mat-icon mat-list-icon>home</mat-icon>
<span mat-line>home</span>
</a>
<a>
<mat-icon mat-list-icon>backup</mat-icon>
<span mat-line>Backup</span>
</a>
</div>
</mat-toolbar>
</mat-sidenav-container>
相关问题
- 1. 角度材料导航栏不工作
- 2. 设置抽屉式导航栏在角2 - 材料2
- 3. 如何制作响应式导航栏?
- 4. 如何制作响应式导航栏?
- 5. 角材料导航栏不呈现
- 6. 使用Angular 2创建一个响应式工具栏材料
- 7. 材料设计:引导3响应导航栏
- 8. 如何使用材料2栏
- 9. 角2 routerlink在材料2栏
- 10. 角材料响应div
- 11. 角材料响应ui
- 12. 角材料2定制
- 13. 角2材料
- 14. 如何使用角材料(https://material.angularjs.org)在角2个应用
- 15. 角度2与材料设计 - 响应行为不起作用?
- 16. 角2+,材料不工作
- 17. 怎么办下拉项导航栏上用材料的角度
- 18. 使用搜索按钮制作响应式导航栏
- 19. 如何使用角材料
- 20. 如何隐藏角度2材质中的侧面导航栏
- 21. 如何创建响应式导航栏?
- 22. 角材料固定侧导航
- 23. 如何制作2级导航栏?
- 24. 角材料设计:建立与顶部导航栏和左sidenav
- 25. flex-sm模拟角材料2应用
- 26. 我如何设计一个使用角材的Google+导航栏
- 27. 角材料2 SnackBar不起作用
- 28. 角材料卡工具栏
- 29. 如何使我的导航栏响应
- 30. 如何使Bootstrap导航栏“无响应”?
工作得很好。感谢flex-layout的领导。没有听说过。 –
很高兴听到:) – user2662006
很酷的解决方案。请记住,FlexLayoutModule.forRoot()已被弃用。我们现在只是使用FlexLayoutModule –