mat-menu 穿透“cdk 覆盖雾”

2024-01-11

This 堆栈闪电战 https://stackblitz.com/edit/angular-txgxyt?file=styles.css(SB)显示了问题。

CSS类.WHYYYYY显示了我面临的“两个”问题。

  1. 为了使垫菜单在悬停时打开,我需要设置z-index:1050; (参考 2 黑客解决方法 https://stackoverflow.com/a/53618962/6852937)在菜单按钮上。
  2. 这会产生“对话雾”的问题。 (点击按钮->SB)
  3. 我发现覆盖层的默认“z-index 为 1000”

看来我有两种方法来解决这个问题。

  1. 给雾一个更高的 z-index(hack the hack)
  2. (desired solution) make the hover menu work with normal z-index.
    • 我不明白为什么我需要z-index:1050;。似乎当垫子菜单打开时,它的“z索引方向”峰值会非常高,因此我触发了按钮(mouseleave)事件(实际上将再次关闭其垫子菜单)。

这是一个错误吗?我可以防止创建的垫菜单出现这种刺穿/尖刺吗?如何在雾中禁用有效的悬停菜单?


当材质 cdk 打开菜单时,它会创建cdk-overlay-container背景区域填充所有浏览器窗口。

body
  your app elements

  div.cdk-overlay-container   - z-index = 1000
    div.cdk-overlay-backdrop

一旦触发mouseenter背景与按钮重叠的事件,它们会得到mouseleave立即发生事件。

这就是为什么在按钮上设置 z-index 大于 1000 才能使其正常工作的原因。

但正如你所猜测的,你可以简单地扔掉它backdrop:

子菜单.component.html

<mat-menu ... [hasBackdrop]="false">

并且您不需要使用 z-index 进行任何类型的解决方法。

叉式堆栈闪电战 https://stackblitz.com/edit/angular-txgxyt-dqm4tb?file=styles.css

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mat-menu 穿透“cdk 覆盖雾” 的相关文章

随机推荐

  • 符号查找错误(linux - c++)

    我正在研究多代理系统 例如Robocup soccerrSim2d在 Gnu linux 上 我的 distb 是 Ubuntu 11 10 内核 3 2 gcc 4 6 我安装了librcsc http sourceforge jp pr
  • Spring中依赖资源发生变化时重新加载类

    您知道 Eclipse 如何在更新 Tomcat 所依赖的资源文件 例如 spring 上下文文件 时自动重新加载在 Tomcat 中运行的类 这样您就不必重新启动 Tomcat 了 如何使类依赖于资源文件 以便 Eclipse 在资源文件
  • 比较 2 个 Dictionary 实例

    我想比较两个的内容Dictionary
  • 从github下载最新代码到Android Studio

    How to sync我当地的安卓工作室项目上有最新的代码github 我想下载所有最新的更改但我不希望我的本地更改被覆盖 如果存在冲突 它应该要求我解决这些特定文件 有办法实现这一点吗 我想下载所有最新的更改 但我不想要我的本地 更改被覆
  • `forSome { val `? 的示例

    Scala 语言规范指定的语法存在主义类型 https scala lang org files archive spec 2 13 03 types html existential types as Type InfixType Exi
  • Blazor 格式化数字的输入类型

    有人知道如何将数字类型格式化为 100 10 吗 目前 如果该值为 100 10 它将显示为 100 1 尝试了 bind value format with C2 0 0 我是 Blazor 的新手 所以如果有人能指出我正确的方向 我将不
  • 为什么这个流不返回任何元素?

    我尝试将以下代码编写为流 AbstractDevice myDevice null for AbstractDevice device session getWorkplace getDevices if device getPluginc
  • R Shiny:从模块内更改选项卡

    我有一个带有多个选项卡的闪亮应用程序 我希望选项卡内有操作按钮 允许用户切换选项卡 我找到了以下页面 https www titanwolf org Network q e6b187b8 6cad 4ece ad16 7ec73ed2f75
  • Selenium 挂起实例化 FirefoxDriver

    我尝试开始使用 selenium 今天下载了当前版本 并复制了他们的示例 该示例打开浏览器并执行谷歌搜索 然而 程序永远挂在第一行WebDriver driver new FirefoxDriver 我安装了 Firefox 13 Thre
  • NSXMLParser 泄漏

    我有以下泄漏的代码 Instruments 表示 泄漏的是 rssParser 对象 我 刷新 了 XML 提要 它运行了该块 然后泄漏了 file h interface TestAppDelegate NSObject
  • 使用 pandas 从宽到长的数据集

    有很多类似标题的问题 但我无法解决我的数据集遇到的问题 Dataset ID Country Type Region Gender IA01 Raw IA01 Class1 IA01 Class2 IA02 Raw IA02 Class1
  • 如何在 Flutter 中获取图像的 RGB 值?

    我正在为我的对象检测服务器创建一个移动客户端 我已经有一个完美工作的 python 客户端 它将图像作为输入 通过 HTTP 请求将其发送到服务器 并接收预测作为 json 响应 我正在尝试在 Dart 中实现同样的目标 而我对 Dart
  • BigQuery 最大分区数达到 2000 而不是 2500

    根据BigQuery 文档 https cloud google com bigquery quotas partitioned tables 分区表可以有2500个分区 每个分区表的最大分区数 2 500 Yet bq query des
  • golang插件如何验证包的版本?

    我正在尝试使用 golang 插件 但在调用时总是出现运行时错误plugin Open plugin Open plugin was built with a different version of package 我确信该插件是使用相同
  • 在 Rust 中的多个函数调用中保持变量处于活动状态

    我正在尝试在 Rust 中记忆递归 collat z 序列函数 但是我需要记忆值的哈希图来在单独的函数调用中保留其内容 有没有一种优雅的方法可以在 Rust 中做到这一点 或者我是否必须在 main 中声明 hashmap 并每次将其传递给
  • 如何在 Kotlin 上绕过 NetworkOnMainThreadException

    嗨 我从 kotlin 开始 现在 Android Studio 3 0 支持它 但我不知道如何在另一个线程中执行简单的网络请求 在java中很容易 new Thread new Runnable Override public void
  • Numpy 安装工具链损坏:无法链接简单的 C 程序

    System Windows 10 Python 3 7 Numpy 1 15 1 VS 2017 我不认为这是重复的 因为以下拟议的决议已失败 对于自制软件 不适用 Numpy 安装运行时错误 工具链损坏 无法链接简单的 C 程序 htt
  • JavaScript setTimeOut 似乎没有像我预期的那样工作

    这是一个简单的 JavaScript 文件 我在 Chrome localhost 下运行 所发生的情况是 DIV 背景颜色没有设置为绿色 然后设置为红色 而是直接设置为红色 第一个 setTimeout 似乎被忽略了
  • iOS Safari/Chrome 不会向上滚动以在无线电输入上显示验证错误消息

    我正在为需要移动设备友好的客户设置一份调查问卷 当表单提交 验证并且问题未得到回答时 它会滚动到第一个无效字段 无论是文本输入还是无线电输入 这仅适用于桌面浏览器和 Android 在 iOS Safari Chrome 上 文本输入按应有
  • mat-menu 穿透“cdk 覆盖雾”

    This 堆栈闪电战 https stackblitz com edit angular txgxyt file styles css SB 显示了问题 CSS类 WHYYYYY显示了我面临的 两个 问题 为了使垫菜单在悬停时打开 我需要设