This STACKBLITZ (SB) shows the problem.
CSS class .WHYYYYY
shows the "two" problems I'm facing.
z-index:1050;
(ref 2 hacky workaround) on the menu buttons.Seems I have two ways of solving this.
z-index:1050;
. It seems that when the mat-menu opens it spikes "z index-wise" very high for a moment, so that I trigger the button (mouseleave) event (that will in fact close its mat-menu again).Is this a bug? Can I prevent this piercing/spiking of the created mat-menu? How Can I have a working hover menu disabled under the fog?
When material cdk opens menu it creates cdk-overlay-container
with backdrop area that fills all the browser window.
body
your app elements
div.cdk-overlay-container - z-index = 1000
div.cdk-overlay-backdrop
Once you trigger mouseenter
event that backdrop overlaps your buttons and they gets mouseleave
event immediately.
That's why setting z-index on buttons more then 1000 make it working.
But as you can guess you can simply throw away that backdrop
:
sub-menu.component.html
<mat-menu ... [hasBackdrop]="false">
and you don't need any kind of workarounds with z-index.