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的子元素添加在内。