倔强的土豆

这只是一个备份!源地址:http://blog.csdn.net/stubbornpotatoes
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

IE6:防止Select等元素遮挡弹出Div层

Posted on 2012-02-12 21:44  倔强的土豆  阅读(2833)  评论(3编辑  收藏  举报

        由于这次项目,想多说两句废话,身为程序员,做项目,首先要发自内心的去做,不能蒙混过关,用心为客户服务,争取敲出的每一行代码都是自己愿意并喜欢的;

        其次要设身处地的为客户考虑,我们的客户只知道IE和chrome长得不一样,他们永远也搞不清同出一脉的IE居然还有不兼容的现象,因此就需要我们把这些问题提前告知对方,极大化对方的认识面,细化提供给我们的需求,防止开发后期无数次的修改带来的新问题,为我们无形中增加了很多工作量。

        身为程序员还要习惯于为客户多做一点,客户要求我们做一,那我们就要做到一点五,甚至二点五。比如客户让我们兼容IE8,那我们尽量给客户兼容IE系列,在做这些的过程中,可能会浪费很多时间,但相信早晚有一天,我们从这些当中会收获许多。要记住勿以善小而不为。

       接下来步入正题,在Web开发中会经常遇到弹出页面,弹出页面一般分为两种,一种是弹出一个新的窗口,如百度音乐播放器;另一种是弹出层,也就是弹出一个Div层,如下图:

 

 

 

        弹出一个新的窗口,只需要window的open方法就搞定了,弹出层就需要用js来控制它的一些CSS属性,如果是IE6以上的浏览器(不包括IE6),是不需要多少行代码的,但是在IE6中就有些麻烦,因为在IE6中Select控件和一些图片元素会遮挡在弹出层的上面,无法达到预期的效果。

        上网找了很多解决方案,找出了一种自认为比较容易操作的办法,现和大家分享。Select在IE6下是处于最顶层的,因此想要遮住它,设置zIndex属性是不行的,就需要一个优先级更高的元素,就是iframe,当把iframe嵌套在弹出div层中后,把iframe设置为不可见,但它使弹出的div能浮于select等一些元素之上,因此完美解决了此问题,如下是需要弹出的Div代码,星号内代码为添加的iframe:


另外再和大家分享一篇弹出页面的好文章http://www.cnblogs.com/cloudgamer/archive/2008/09/15/1290954.html