惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Martin Fowler
Martin Fowler
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
雷峰网
雷峰网
J
Java Code Geeks
G
Google Developers Blog
博客园 - 司徒正美
The GitHub Blog
The GitHub Blog
L
LangChain Blog
人人都是产品经理
人人都是产品经理
GbyAI
GbyAI
Vercel News
Vercel News
S
SegmentFault 最新的问题
Engineering at Meta
Engineering at Meta
H
Hackread – Cybersecurity News, Data Breaches, AI and More
云风的 BLOG
云风的 BLOG
F
Fortinet All Blogs
Y
Y Combinator Blog
博客园_首页
Last Week in AI
Last Week in AI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
罗磊的独立博客
A
About on SuperTechFans
B
Blog
Microsoft Security Blog
Microsoft Security Blog

博客园 - 范仁义

吊打市面上100%的markdown编辑器 范仁义软件合集 全网最通俗易懂傅里叶变换 【强化学习玩转超级马里奥】05-最最简单的超级马里奥训练过程 【强化学习玩转超级马里奥】04-stable-baselines3 库介绍 【强化学习玩转超级马里奥】03-马里奥环境代码说明 【强化学习玩转超级马里奥】02-运行超级马里奥 【强化学习玩转超级马里奥】01-nes-py 包安装实例 【强化学习玩转超级马里奥】01-超级马里奥环境安装 【强化学习玩转超级马里奥】00-强化学习玩马里奥课程介绍 linux查找操作 分析MongoDB架构案例 legend3---laravel报419错误 laravel自定义中间件实例 laravel中间件Middleware原理解析及实例 git: Failed to connect to github.com port 443: Timed out 记忆规律 tinymce上传的图片不指定宽高 z-index总结
legend3---bootstrap modal框出现蒙层,无法点击modal框内容(...
范仁义 · 2021-09-27 · via 博客园 - 范仁义

legend3---bootstrap modal框出现蒙层,无法点击modal框内容(z-index问题)

一、总结

一句话总结:

【问题本质原因】:【把模态框放在了设置了z-index的内容层里面】,导致遮罩层和内容层并列,而弹出层在内容层里面,导致异常
【解决方法】:1、去掉内容层的z-index;2、将遮罩层的z-index设置的比内容层低
<div style="z-index: 10;">
    <div>
        html页面的主要内容
        <div style="z-index:1050;position: fixed;">
            弹出层内容
        </div>
    </div>
</div>
<div style="z-index: 1040;position: fixed;"  class="modal-backdrop fade in"></div>

1、z-index特点?

1、如果定位元素的层级是一样,则下边的元素会盖住上边的
2、层级高的会盖住层级低的
3、父元素的层级再高,也不会盖住子元素

二、bootstrap modal框出现蒙层,无法点击modal框内容(z-index问题)

1、错误效果

弹出层被遮挡了,无法点击

2、解决过程

(1)、猜测出错原因

a、猜测是不是弹出了两层, 后的一层把先的一层覆盖了

b、或者是z-index的问题

c、试一下别的bootstrap的弹出层在里面显示正常么

bootstrap新加的这个弹出层在这个页面显示异常,也是同样的错误

d、拿弹出层去别的页面试下

bootstrap新加的这个弹出层在课程选择页面也显示异常,也是同样的问题

在home页面也显示异常,也就是在所有的页面都显示异常

在修改密码页也显示异常

密码页的修改密码成功提示消息弹出框是对的

他们都是模块框,在项目中就是所放的位置不同

估计出错原因就是调背景的时候把index给调了

(2)、出错原因

这个z-index 的1040居然跑到了1050上面去了,这就是出错原因

(3)、思考

而且布局方式都是fixed,1040怎么会跑到1050上面去的

其实这些问题google一下子都是可以找到的

解决方案就是把.modal-backdrop设置的低一点即可

比如

/****bootstrap modal框出现蒙层,无法点击modal框内容****/
.modal-backdrop {
     z-index: 9;
}

到此问题解决

但是可以也要分析一下问题出现的本质原因

(4)、问题的本质原因

问题的本质原因是因为  模态框被包裹在z-index为10的box里面

所以现在结构式这样的:

<div style="z-index: 10;">
    <div>
        html页面的主要内容
        <div style="z-index:1050;position: fixed;">
            弹出层内容
        </div>
    </div>
</div>
<div style="z-index: 1040;position: fixed;"  class="modal-backdrop fade in"></div>

这就是为什么同样为position fixed,1040却挡在1050上面

因为1040和10同层,而1050是10的孩子

所以只要保证上面那个z-index为10的那层比modal-backdrop层高,才可以保证弹出层的内容在这个modal-backdrop层上面

还有一种解决方案,就是把 内容层上面的z-index为10去掉即可,也可以同样解决问题