Skip to content

Feature(MdSidenav): add scroll block strategy #4625

Closed
@macjohnny

Description

@macjohnny

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.

Metadata

Metadata

Assignees

Labels

P5The team acknowledges the request but does not plan to address it, it remains open for discussionfeatureThis issue represents a new feature or feature request rather than a bug or bug fixneeds: discussionFurther discussion with the team is needed before proceeding

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions