Closed
Description
Bug, feature request, or proposal:
Feature request
What is the expected behavior?
It should be possible to have a sidenav that spans across the visible viewport, i.e. 100vw and 100vh and blocks scrolling. The content of the sidenav should scroll instead of the body content.
See also #4500
What is the current behavior?
The sidenav backdrop expands with the containing content and still allows the user scroll.
What are the steps to reproduce?
How it is now:
http://embed.plnkr.co/zlg13xd1ukSDUa16aNqE/
How it should be:
What is the use-case or motivation for changing an existing behavior?
When using the sidenav as a navigation,
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Angular4, Material 2.0.0-beta.5
Is there anything else we should know?
An easy solution can be achieved with the following template / scss:
<md-sidenav-container>
<md-sidenav mode="over">
some sidenav content
</md-sidenav>
<div class="placeholder" *ngIf="isOpened()"></div>
</md-sidenav-container>
:host {
/deep/ md-sidenav-container{
background: none;
position: fixed;
z-index: 100000;
top: 0;
}
}
// the placeholder expands the content of the sidenav to the screen width
// in order for the backdrop to span across the screen and to prevent the
// sidenav being clipped
.placeholder{
width: 100vw;
height: 100vh;
}
To be used in combination with the newly developed #4500 scroll block strategy.