我有一個angular2應用程序使用Angular2材質庫進行造型。我試圖添加一個FAB(浮動操作按鈕)懸停在應用程序的右上角,但它將自己修復到其父組件,而不是窗口。固定元素是相對於組件而不是Angular2中的窗口
應用程序的層次結構如下所示:
app.component
|-detail.component
內app.component模板,我使用與路由器出口的MD-sidenav佈局指令在佈局指令的身體:
<button md-mini-fab class="fab" (click)="toggleAdd()">
<i class="material-icons">add</i>
</button>
:
<md-sidenav-layout>
<md-sidenav #sideNav (open)="closeStartButton.focus()">
<router-outlet name="navMenu"></router-outlet>
<br>
<button md-button #closeStartButton (click)="sideNav.close()">Close</button>
</md-sidenav>
<md-toolbar color="primary">
<button md-icon-button (click)="sideNav.toggle()">
<md-icon class="md-24">menu</md-icon>
</button>
<span>{{title}}</span>
</md-toolbar>
<div role="main">
<router-outlet></router-outlet>
</div>
</md-sidenav-layout>
裏面的細節分量模板,我有在模板的頂部以下10
與該組件的CSS:
.fab {
display: block;
position: fixed;
right: 2rem;
bottom: 2rem;
z-index: 10;
}
然而,當我導航到詳細信息頁面,該.fab相對於該組件,而不是窗口的位置。我已經嘗試在細節組件上使用encapsulation: ViewEncapsulation.None
,但這也不會影響它。有沒有辦法將工廠定義在細節組件中,但是它仍然相對於窗口是固定的?
是的!這是由Angular Material提供的工作解決方案概述 https://material.angular.io/components/sidenav/overview –