MUI DesktopTimePicker弹窗被父级遮挡,z-index设置无效求助
解决MUI DesktopTimePicker弹窗被父Popup遮挡的问题
几个可行的解决思路:
1. 提升CSS选择器优先级
你直接用.MuiPickersPopper-root加!important没生效,多半是MUI生成的动态类(比如.css-1anqmj6-MuiPopper-root-MuiPickersPopper-root)优先级更高。试试结合父容器类名写更具体的选择器:
.your-popup-container .MuiPickersPopper-root { z-index: 10000 !important; }
要是临时排查,也可以直接针对动态类(注意:动态类可能随MUI版本变更,不建议长期依赖):
.css-1anqmj6-MuiPopper-root-MuiPickersPopper-root { z-index: 10000 !important; }
2. 用MUI原生配置(推荐)
别硬写全局CSS,直接通过TimePicker的PopperProps配置层级,这是MUI官方推荐的方式,优先级更高也更稳妥:
<DesktopTimePicker // 你的其他配置项 PopperProps={{ sx: { zIndex: 10000 } }} />
3. 核对父Popup的z-index
如果父Popup的z-index本身就超过10000,那TimePicker的弹窗还是会被压在下面。先确认父Popup的z-index值,把TimePicker的设得比它大就行。
4. 检查父容器的overflow属性
要是父Popup加了overflow: hidden,哪怕z-index够高,弹窗也会被裁剪。检查父Popup的样式,删掉不必要的overflow: hidden,或者改成overflow: visible。
内容的提问来源于stack exchange,提问作者Dani
相关产品推荐
相关产品推荐

