DIV标签被OBJECT标签遮挡的解决方法

时间:2021-11-24
类别:教程 - 网页设计

关于object标签,现在已经很少使用了,但在考虑到兼容性的问题上,还是会用到object标签的。

在对object标签的使用中,会出现播放视频的 object 标签遮盖住其他 div 标签,使其不能正常显示。

  1. <div class="btn-group" style="width:100px;height:100px;z-index:2222222"
  2.     <ul> 
  3.         <li>四画面</li> 
  4.         <li>九画面</li> 
  5.         <li>十六画面</li> 
  6.     </ul> 
  7.     <iframe id="iframe1" src="about:blank" frameBorder="0" marginHeight="0" marginWidth="0"  
  8. style="position:absolute; visibility:inherit; top:0px;left:0px;width:100px;height:100px;z-index:-1; filter:alpha(opacity=0);"></iframe> 
  9. </div> 

解决:div为要显示的,被object遮盖,在div中增加一个iframe,通过iframe来遮挡object标签。

原因:object标签不在dom文档流中,浏览器在解析的时候会先把object放置在最上层,再依次解析dom文档,放置在下层,因此有些div标签会被object标签遮盖,此时设置z-index是无效的。由于iframe标签级别高于object标签,故可利用在div中加入iframe来解决此类问题。

注意:

1、div必须设有特定的z-index并且大于iframe的z-index;

2、iframe的z-index必须为负,否则,div无法遮盖iframe;

3、iframe的top和left为0,且iframe的宽、高与div的宽高相等刚好完全覆盖;

4、注意设置iframe的透明度为0;

5、iframe作为显示div的子元素添加在内。

    收藏