-
党中央关于IE6下select耍流氓的问题报告 - [WEB]
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://cookiy.blogbus.com/logs/48480183.html
题记:什么叫屎命,这就叫屎命啊!
临下班,程序丢过来一个问题,IE6下SELECT框去不掉,得此讯息,心一沉,糟了,碰到IE6刷流氓的时候了,没办法,这就是屎命啊,解决!
网上股沟了下,终于得到了解决办法,处理了两下,终于解决了,美中不足的是ifraem不能height:auto,愁
原理:
在IE中,select属于window类型控件,它会“挡住”所有非window类型控件可以这么理解。div这样的组件是在浏览器客户区使用代码“渲染”的,他们被渲染在客户区的绘画表面上,而select是使用的标准windows控件,只是作为客户区的子控件放置而已。
IE7解决了此类BUG。有多种种办法;
1. 修改select,不用标准select,而是自己用其他html元素模拟
2. 修改你的div,使用iframe。
3. 在div被显示的时候或者到达select所在位置时隐藏select
4. 在div中或div的同一坐标上,用相同尺寸的iframe先遮挡一下,然后在iframe上显示div的内容。
5.Object对象的优先度较高,可以挡住select框、从解决方案来看,根据页面代码的不同,选择不同的方法,我是用了2,iframe来代替以前的div
问题:
在IE6中select总可以挡住div.而z-index值较大的iframe可以挡住 select;z-index值较大的div可以挡住iframe(真不知道IE6为什么要搞这样一物降一物的设计...),于是解决这个方法的思路就是 用z-index值高于select的iframe挡住select,再用z-index值高于iframe的div挡住iframe.设置iframe 的尺寸足够盖住select就可以了.
解决方案:在iframe里写生z-index:-1;
随机文章:
IE与Firefox之间的哪点儿破事儿 2008-11-29important 2008-11-28十个超级技巧解决css兼容问题 2008-11-27类与ID 2008-11-27Windows环境下smarty安装简明教程 2008-11-12
收藏到:Del.icio.us







