div标签被object标签遮盖?

关于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" 
style="position:absolute; visibility:inherit; top:0px;left:0px;width:100px;height:100px;z-index:-1; filter:alpha(opacity=0);"></iframe> 10 </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的子元素添加在内。

posted @ 2020-03-31 20:25  蓝色的矢车菊  阅读(288)  评论(0编辑  收藏