Would you like to react to this message? Create an account in a few clicks or log in to continue.
搜索
 
 

结果按:
 


Rechercher 高级搜索

关键词

最新主题
» js在html中的加载执行顺序
IE6下select总是在最上层的解决办法!                       Empty10/09/13, 06:50 am 由 design_ss

» javascript 函数的方法call()和apply()
IE6下select总是在最上层的解决办法!                       Empty09/09/13, 05:10 am 由 design_ss

» JS中typeof与instanceof的区别
IE6下select总是在最上层的解决办法!                       Empty08/08/13, 11:10 am 由 design_ss

» JS中的构造函数解析
IE6下select总是在最上层的解决办法!                       Empty08/08/13, 09:44 am 由 design_ss

» js对象属性方法大总结
IE6下select总是在最上层的解决办法!                       Empty08/08/13, 08:46 am 由 design_ss

» js中的值类型和引用类型小结 文字说明与实例
IE6下select总是在最上层的解决办法!                       Empty08/08/13, 06:35 am 由 design_ss

» CSS3中轻松实现渐变效果
IE6下select总是在最上层的解决办法!                       Empty05/07/13, 09:48 am 由 design_ss

» jQUery 常用实例
IE6下select总是在最上层的解决办法!                       Empty03/07/13, 09:56 am 由 design_ss

» mask_layer 遮照
IE6下select总是在最上层的解决办法!                       Empty03/07/13, 08:18 am 由 design_ss

十一月 2024
周一周二周三周四周五周六周日
    123
45678910
11121314151617
18192021222324
252627282930 

日历 日历

合作伙伴
免费论坛

免費論壇




IE6下select总是在最上层的解决办法!

 :: 前端制作 :: 重构

向下

IE6下select总是在最上层的解决办法!                       Empty IE6下select总是在最上层的解决办法!

帖子  design_ss 21/02/13, 08:30 am


Select的遮盖问题



这个问题可是ie6下相当经典的问题了。简单的说就是ie6下select永远在position:absolute的div上面,这个在想用div来做个对话框时经常会遇到。比方下面的代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<body>
<div class="down">
<select>
<option>This is a select.</option>
</select>
</div>
<div class="up">This is upper div.</div>
</body>
<style type="text/css" title="">
div{position:absolute;width:180px;height:60px;}
.up{top:0;left:0;background:skyblue;}
.down{top:15px;left:15px;background:yellowgreen;}
</style>
</html>
然后在浏览器中的显示效果如下:

(ie6下的效果) (其他浏览器)
IE6下select总是在最上层的解决办法!                       16353GE9-1 IE6下select总是在最上层的解决办法!                       16353H304-2


因为在IE6中iframe是可以覆盖select,而div又可以覆盖iframe(一物降一物?),所以解决方法如下:

用iframe覆盖select

在up的div里添加一个iframe,大小至少要能覆盖select。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<body>
<div class="down">
<select>
<option>This is a select.</option>
</select>
</div>
<div class="up">
<iframe></iframe>
<div class="up-inner">This is upper div.</div>
</div>
</body>
<style type="text/css">
div{position:absolute;width:180px;height:60px;}
.up{top:0;left:0;}
.up-inner{background:skyblue;}
.down{top:15px;left:15px;background:yellowgreen;}
.up .up-inner,.up iframe{position:absolute;width:100%;height:100%;top:0;left:0;}
</style>
</html>
值得注意的是,如果iframe的allowTransparency="true"时是不能遮盖住select。这种情况下,如果要透明可以用filter:Aplha(Opacity=?)。

iframe遮盖select是个不错的解决方案,但并不完美。被iframe遮盖的select某种意义上“消失”了。如果将iframe的透明度调低,就会发现,select不在那里。。比方将上例中的up的宽度调低,并加上透明度,超囧的一幕就会出现:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<body>
<div class="down">
<select>
<option>This is a select.</option>
</select>
</div>
<div class="up">
<iframe></iframe>
<div class="up-inner">This is upper div.</div>
</div>
</body>
<style type="text/css" title="">
div{position:absolute;width:120px;height:60px;}
.up{top:0;left:0;filter:alpha(Opacity=80);}
.up-inner{background:skyblue;}
down{top:15px;left:15px;background:yellowgreen;}
up .up-inner,.up iframe{position:absolute;width:100%;height:100%;top:0;left:0;}
</style>
</html>

IE6下select总是在最上层的解决办法!                       16353M229-3
(另一半select神奇消失)

这个怎么解决我就不知道了,有人知道的话记得告诉我哦~

design_ss

帖子数 : 122
积分 : 373
威望 : 0
注册日期 : 11-12-28

返回页首 向下

返回页首


 :: 前端制作 :: 重构

 
您在这个论坛的权限:
不能在这个论坛回复主题