后续问题:同样的缺乏可见透明/模糊效果的问题现在也出现在另一个共享 .menu-panel 样式路径的元素上——即头部搜索下拉菜单的输入框(.search-input-wrapper,属于 glimmer 搜索菜单的一部分)。
配方(与正常工作的 .d-header 以及上述 .menu-panel 的模式完全相同):
.search-menu .search-input-wrapper {
background: color-mix(in srgb, var(--header_background) 85%, transparent) !important;
-webkit-backdrop-filter: blur(6px) saturate(1.2);
backdrop-filter: blur(6px) saturate(1.2);
border-radius: 14px;
box-shadow: 0 0 0 1px var(--primary-low-mid);
overflow: hidden;
}
.search-menu .search-input {
background: transparent !important;
}
渲染正确的部分: 细边框(box-shadow)和 border-radius 均按预期显示——这表明选择器匹配到了正确的元素,规则已生效,并未被静默覆盖。
未渲染的部分: 没有可见的半透明效果,也没有对字段背后内容的可见模糊,症状与上述报告的 .menu-panel(侧边栏/汉堡菜单面板)相同。而 .d-header 使用了字面上相同的三行代码(通过 color-mix 设置 background-color、-webkit-backdrop-filter、backdrop-filter),仍然工作正常。
这让我越来越怀疑问题并非特定于 .menu-panel 本身,而是这些下拉菜单/覆盖层样式元素共有的某些特性(例如核心代码其他位置创建的层叠上下文,或者一个并非 backdrop-filter 适当包含块的合成层,或类似情况)——而不是我们自己的选择器或属性值的问题,因为完全相同的三个 CSS 属性在附加到不同的核心元素时表现不同。
有没有人遇到 backdrop-filter/半透明背景在搜索下拉菜单或其他 .menu-panel 系列覆盖层上不渲染的情况,即使同样的配方在头部上有效?