随笔- 507  评论- 54  文章- 0 

Object 标签遮挡 Div 显示

  最近在使用 Object 时,就是播放视频的 Object 标签遮挡住其他 div 标签,不能正常显示。

  出现这种现象的原因:
  object 标签不在 dom 文档流里面,浏览器在解析的时候先把 object 放置在最上层,然后依次解析dom文档,放在下层,并且在这里使用z-index是无效的。
  在被遮挡得 div 中添加 iframe 标签,如下:
<div id="demodiv" style="width: 120px; height:120px;DISPLAY: none; top: 26px; left: 300px;z-index:999999">
    <ul>
        <li>关闭</li>
        <li>刷新</li>
        <li>关闭其他</li>
        <li>关闭全部</li>
    </ul>
    <iframe id="iframe1" src="about:blank" frameBorder="0" marginHeight="0" marginWidth="0"
  style
="position:absolute; visibility:inherit; top:0px;left:0px;width:120px; height:120px;z-index:-1; filter:alpha(opacity=0);"></iframe> </div>

  说明一下: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的子元素添加在内。
posted on 2019-01-30 15:33  Now,DayBreak  阅读(1261)  评论(7编辑  收藏