最近在使用日期选择器时,出现个问题,就是被播放视频的Object标签遮挡住,不能正常显示,纠结于此许久,得此良方。
<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>
出现这种现象的原因:
object标签不在dom文档流里面,浏览器在解析的时候先把object放置在最上层,然后依次解析dom文档,放在下层,并且在这里使用z-index是无效的。
说明一下: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的子元素添加在内。
本文介绍了一种解决HTML中Object标签遮挡日期选择器的方法,通过在目标div内部添加一个设置为透明的iframe来实现层级覆盖,确保日期选择器可以正常显示。
3141

被折叠的 条评论
为什么被折叠?



