Web 2.0 的一大特征就是页面不再是平的,我们开始有各种浮层、窗口、提示,骚一点的,还会给页面蒙上一层阴影,半透明的哦。这些浮层通常都很开心地像浮云一般飘在那边,只要它们没有遭遇 ie6。
浮层盖不住页面的原因有很多,其一是 ie6 中,select 控件是以 Window Shell ListBox 和 ComboBox 方式实现的,不支持 z-index、title、zoom 等,层级很高,不与 div、span 为伍,超脱于 z-index 之外自然就是世外高人了。解决方式就是用一个同样牛逼但不会无视 z-index 的 iframe 来把丫盖掉。公司里不鼓励用 jQuery,这在我看来很是无厘头,可能跟程序员基数有关系,只是未免不够拥抱变化。所以 bgiframe 插件就不好用了。不过不用也好,毕竟为 ie6 添加个 workaround 就得加个 js 请求,有点夸张的。贴一个 YUI3 写的示例。
1 2 3 4 5 6 7 8 9 10 11 12 |
|
另一个 ie6 的浮层 bug,则是 z-index 失效,而该控件明明是支持的。导致这个 bug 的原因有二:浮层或者浮层的子节点被 float 了,其一;父节点有 position: relative; 其二。两个因素都很屎。解决办法相应的就是清除 float;为父节点设 z-index。