IE6 select z-index无效,遮挡div bug的解决方法

建站知识 2021-07-03 08:43www.168986.cn长沙网站建设
今天我说说iframe解决的一般方法,已经使用jQuery插件bgiframe解决IE6 select z-index无效,遮挡div的bug。

解决方法之一Iframe包裹select元素
使用iframe包住select,这样iframe有z-index,只要在div上设置的z-index比iframe的高即可~这种方法有一定的局限性,不可能每个select都要加个iframe吧?所以不推荐!代码如下

复制代码
代码如下:

<iframe style="z-index:1" style="z-index:1"><!-- 用iframe 解决此bug -->
<select name="country">
<option value="1">china</option>
<option value="2">japanese</option>
<option value="1">U.S.A</option>
</select>
</iframe>

解决方法之二以Iframe作为div的子元素,覆盖select元素
建立一个跟div同宽同高的iframe,并且z-index比div要低。这种方法推荐使用


复制代码
代码如下:

<style>.T_iframe
{
position: absolute;/绝对定位保证iframe不会占用流布局空间/
width: 100%; /100%保证可以覆盖整个div/
height: 100%;
z-index:-1; /-1保证iframe显示在div下方/
}
.T_div
{
position: absolute;
left:100px;
:50px;
width: 300px;
height: 200px;
background : blue;
z-index:100;
} </style>
<div class="T_div">
<span>这里可以包含其他dom元素</span>
<iframe class="T_iframe"></iframe>
</div>

解决方法之三使用jQuery的bgiframe插件
如果你的项目引用了jQuery,那么我推荐使用bgiframe插件来解决select的遮挡div问题,原理很简单,就是建立一个同高同宽的iframe插入到div中去~bgiframe下载地址http://github./brandonaaron/bgiframe,使用方法

$('.fix-z-index').bgiframe();
参数说明

复制代码
代码如下:

设置位置,默认为auto
left设置left位置,默认为auto
width设置iframe宽度,默认为auto
height设置iframe高度,默认为auto
opacity设置是否透明,默认为true
src设置iframe的src,默认为javascript:false

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by