【发布时间】:2020-05-12 03:06:18
【问题描述】:
我正在尝试从左侧导航创建一个幻灯片,而不是传统的引导程序在折叠时向下滑动导航。
切换按钮的 HTML
<button id="collapseBtn" class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation" (click)="toggleSideBar()" >
Toggle</button>
侧边栏的 HTML
<div class="sidebar">
<ul>
<li>S-Dashboard</li>
<li>S-Voucher</li>
</ul>
</div>
侧边栏的 CSS
.sidebar {
background: #1a2580;
color: white;
height: 100%;
width: 0;
position: fixed;
z-index: 1;
top: 0;
left: 0;
overflow-x: hidden;
padding-top: 60px;
transition: 0.5s;
}
.showsidebar {
width: 250px;
}
.hidesidebar {
width: 0px;
}
组件文件中的ToggleSideBar函数
toggleSideBar() {
document.getElementsByClassName('sidebar')[0].classList.add('showsidebar');
this.sideBarOpen = true;
}
单击切换按钮会根据需要滑出导航,但不会将内容推到右侧。结果,内容隐藏在侧边栏下方。
如何将内容推送到右侧?
其次,我尝试在单击页面上的任何位置时使用 HostListener 关闭侧边栏,但这似乎不起作用。
【问题讨论】:
-
您不想使用角材料material.angular.io/components/sidenav/overview的任何具体原因?
-
@kuldeep 没有具体原因。在您的建议尝试找到一个顶部固定导航和侧导航折叠的示例之后。在角材料中也找不到任何东西。
-
好吧,如果我没记错的话,你可以通过工具栏(角度材料)和角度侧导航来实现。我稍后会提供一个示例!!
标签: css angular typescript angular-bootstrap