经过试验,在IE6下出现这个问题的最精简代码如下:
代码如下 | 复制代码 |
<div style="height:60px;overflow:auto;filter:alpha(opacity=0)"> <select><option>a</option><option>b</option></select> <select><option>a</option><option>b</option></select> <select><option>a</option><option>b</option></select> <select><option>a</option><option>b</option></select> </div> |
只要去掉“filter:alpha(opacity=0)”这句样式,IE6中的问题就解决了,此处的问题与opacity的值无关,而是与是否有这句话有关。
下面给出一个js处理方法来去掉这句样式:
代码如下 | 复制代码 |
if(!jQuery.browser.opacity){ //判断是否为IE6浏览器,因为IE6没有opacity这个属性 try{ this.boxy.get(0).style.filter = ''; //把filter相关的都置为空 }catch(ex) {} } |
而在用ietester调试的过程中,不论是不是加这句样式,都是没有问题的,因为ietester中的ie6有一个bug,是filter会失效,刚好,bug上再加上bug,就不会出现问题了。
时间: 2024-12-09 21:25:41