解决fixed定位z-index层级无效问题

当fixed定位的DOM元素在深层级时,其z-index可能无法超越父元素。为解决此问题,可以将fixed元素移至外层,或者利用UI组件如vant的popup提供的挂载配置。在自定义Vue组件中,也可以在mounted生命周期钩子内改变组件的挂载位置,使其置于body最后,以调整层叠顺序。
摘要由CSDN通过智能技术生成

问题

当fixed定位元素的DOM层级较深时,z-index会受到层叠上下文的影响,无论z-index设置多大,都无法超过父元素的层级

方案一

将fixed元素放到外层,避免受到层叠上下文的影响

方案二

使用UI组件提供的指定挂载位置配置,修改fixed元素在DOM结构中的位置

例如vant的popup组件

 方案三

如果是自定义组件,以vue为例,可以在组件加载时修改组件的挂载位置

mounted() {
  const _dom = document.querySelector('body');
  // 将当前组件挂载到body下的最后
  _dom.insertBefore(this.$el, _dom.lastChild);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值