IE6 常见bug

1.z-index:有没有感觉z-index这个属性在IE6里有时有用有时没用?最近给学院一个项目的页面写个下拉菜单,但在IE6里菜单老是被下面的内容遮住,原来在IE6里文档后面的内容默认会遮住前文的,而z-index在IE6下是相对于各自的父级容器,所以只要给每个父级容器一层层加上z-index就好了。

2.overflow:hidden,ie7:overflow:hidden在IE7下无效,解决方法,加个position:relative;

3.onmouseover/out:最近给通栏写个下拉菜单,发现IE6下,空的div是不会触发onmouseover事件的,只有在移到里面内容(比如文字、input等)上才会触发,而移出内容,即使你还在div里也会触发onmouseout,解决办法是给div一个非transparent的背景色,把它填充起来。

4.position:relative/absolute,padding:relative和absolute配对后,IE里的left、top等值是相对于盒子padding内边的。Chrome里是相对盒子边的。

5.float, overflow:子元素float后父元素高度塌缩为0,用overflow:hidden可以解决,有时(待实验)overflow:hidden搞不定,就给父元素同加个float:left(和clearfix)

6.li间距:加vertical-align:bottom

7.块级元素inline-block:
先使用display:inline-block属性触发layout,然后再定义display:inline让块元素呈现内联对象(两个display要先后放在两个CSS声明中才有效果)
==ie6,ie7下display:inline; zoom:1;
==ff,ie8,chrome的inline-block

8.iframe垫片:IE7之前的select和IE5.5之前的iframe都是窗口化控件,z-index对其无效,IE5.5之后的iframe不再是窗口化控件,可以用它遮住弹窗背后的控件,不好reset就加上filter:alpha(opacity=0)

9.value缓存与读取:不算bug,用户刷新时,IE67会缓存用户的表单输入,但你读他们的value却是空的。要在onload事件之后去读。

10.overflow:visible:[http://aspektas.com/blog/ie6-overflowvisible-bug/](http://aspektas.com/blog/ie6-overflowvisible-bug/),和文章里列出的问题不大一样,我遇到的问题是子元素margin-top: -50px;出父元素后看不见了,overflow:visible无效,加上个position:relative就好了。

posted @ 2012-08-30 09:52  雨之殇  阅读(285)  评论(0编辑  收藏  举报