doubleyong
管理员
管理员
  • 最后登录2024-03-15
  • 发帖数1164
  • 最爱沙发
  • 喜欢达人
  • 原创写手
  • 社区居民
  • 忠实会员
阅读:4731回复:0

[css]IE下object遮挡div——z-index无效的解决方案

楼主#
更多 发布于:2020-01-08 16:25
一、现象:

  在项目开发的过程中,有个模块需要实现将数据拖拽到外部的一个插件窗口上,在其他浏览器上表现正常,但是在IE下出现了div拖拽到控件时被object遮挡的问题。

(即层叠位置不对)

二、出现问题的原因和解决思路

    出现这种现象的原因:
        object标签不在dom文档流里面,浏览器在解析的时候先把object放置在最上层,然后依次解析dom文档,放在下层,并且在这里使用z-index是无效的。
   解决的思路:
(即给object加上一层透明的iframe标签)


说明一下: div为需显示的div,被object遮挡, 于是在该div中增加一 个iframe,通过iframe来遮挡Object控件标签。
因为iframe的级别高于Objec标签,而又由于div能够遮挡iframe,所以可以通过在div中加入iframe来解决该类问题。
其中有几点需要注意:
1.div必须有特定的z- index且大于iframe的z -index,不能是auto或空;
2.iframe的z-index必须为负,否则,div无法遮盖iframe;
3.iframe的top和left为0,且iframe的宽、 高与div的宽高相等刚好完全覆盖;
4.注意设置iframe的透明度为0.
5.iframe作为显示div的子元素添加在内。


参考:https://blog.csdn.net/u010176097/article/details/52190842
知识需要管理,知识需要分享
游客


返回顶部

公众号

公众号