我正在嘗試使用在移動設備和平板電腦等小屏幕中摺疊的角材料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 –