我试图将角度/材料sidenav的高度设置为100% . 由于某种原因它被设置为22px使得它无法使用,因为sidenav中的任何项目填满了整个高度...我设法使用mat-sidenav-container全屏属性来工作但是当我这样做时所有其他内容(应该在sidenav旁边)不会显示...通过sidenav文档阅读我发现以下内容:
“对于全屏sidenav,推荐的方法是设置DOM,以便自然占用整个空间:”
然后他们有一个我想要复制的例子 . 当我在chrome-sidenav-container的chrome格式中查看我的sn-content div时,我发现高度因为某些原因而变灰了?我已经从chrome dev tools inspect元素复制了选择器路径并将高度设置为100%,但仍然没有运气 . 我也尝试过使用!重要但是也没有改变任何东西 . 知道我做错了什么/可能会发生什么?
我的导航组件的html代码:
<mat-sidenav-container position="start">
<mat-sidenav #sidenav mode="push">
Navigation component width is ok
<ul>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
</ul>
</mat-sidenav>
<div class="sn-content">
<button type="button" (click)="sidenav.toggle()">toggle</button>
</div>
</mat-sidenav-container>
我的导航组件的CSS:
body > app-root > app-home > navigation > mat-sidenav-container > mat-sidenav-content {
margin: 0;
height: 100% !important;
width: 100%;
}
然后我在以下html代码中使用此导航组件:
<navigation></navigation>
<div fxLayout="column" fxLayoutAlign="end end">
<div fxFlex="20%">
<h4>testing angular flex layout turning out to be quite unusual</h4>
</div>
</div>
3 回答
只是想发布像我这样的新旅行者....
不确定这是一个新选项还是添加了哪个版本的材料,但是目前你可以简单地将[fixedInViewport] =“true”添加到mat-sidenav组件以及使用[fixedTopGap]和[fixedBottomGap]来选择允许菜单/工具栏的任何间隙 .
这里的文档:Angular Material Sidenav API
另请注意,在mat-sidenav-container组件上,您可以添加指令“fullscreen”以扩展内容以适合视口(如果您愿意) . 推送和覆盖模式的叠加仅显示在内容上,因此如果它不适合整个视口,那么叠加也不会 .
在导航组件css中:
鉴于此标记:
以下样式表将解决您的问题: