angular / components

Component infrastructure and Material Design components for Angular
https://material.angular.io
MIT License
24.22k stars 6.69k forks source link

Open menu should support background scrolling #6927

Open trshafer opened 6 years ago

trshafer commented 6 years ago

Bug, feature request, or proposal:

Bug? Reading the source, when having a menu open, I believe the background should be able to be scrolled using the mouse. The background can be scrolled with the arrow keys.

What is the expected behavior?

The background can scroll.

What is the current behavior?

The background cannot scroll.

What are the steps to reproduce?

  1. Visit https://material.angular.io/components/menu/overview
  2. Open the menu by clicking the trigger: "Menu"
  3. Attempt to scroll the page (not the menu) using the mouse.

What is the use-case or motivation for changing an existing behavior?

A dialog box should block background scrolling, but the menu should not.

Which versions of Angular, Material, OS, TypeScript, browsers are affected?

Current

Is there anything else we should know?

It is blocked by pointer-events: auto: https://github.com/angular/material2/blob/4d82f833c7e4a22814b8e225f05ef4ba01a86ad6/src/cdk/overlay/_overlay.scss#L61. The menu does have the scroll strategy of reposition, which I believe should mean that the background should be able to be scrolled: https://github.com/angular/material2/blob/fe37cb2551929844d5467e1b9bf45032df35981f/src/lib/menu/menu-trigger.ts#L57

tinayuangao commented 6 years ago

@mmalerba Is this intended behavior?

jelbourn commented 6 years ago

This used to be the intended behavior (the backdrop blocking scrolling), but now they should reposition

crisbeto commented 6 years ago

This only really happens if the scrollable element is the sidenav container, not the body. @jelbourn it is a little tricky to solve, because we'd have to disable pointer events on the backdrop which breaks the clicking outside to close an overlay. It can be resolved by disabling pointer events and using a click handler on the document to determine whether the user clicked outside, but that can be problematic too because the user could stop the event from propagating all the way up.

ahnpnl commented 4 years ago

hi, I'm running into similar issue that mat-select doesn't allow me to scroll in content. Reading several related issues, I assume once this issue is solved, it will be possible to scroll inside overlay panel again ?

Will the fix be landed on v9 ? For me, I really hope it will be fixed in v9.

mayankagarwal8188 commented 2 years ago

Hey, Is this issue fixed ? I am not able to scroll to outer content when the mat select is opened

Dam14n commented 10 months ago

Any updates on this?

lgicc commented 9 months ago

Having still the same issue. Any Update?

zarend commented 9 months ago

Hello folks,

We're focusing on material3, improving our theming system and accessibility. I not sure someone on the Angular team will be able to get to this.

Angular Material is open source and we welcome contributions from the community. Feel free to get started on this if you are interested.

Best regards,

Zach