IE6不兼容问题
一、选择器兼容问题
1.交集选择器从IE7以上兼容(div.special):
2.儿子选择器(>):IE7开始兼容,IE6不兼容。
3.序选择器(first-child,last-child,nth-child(1/2n+2)IE8开始兼容
4.下一个儿子选择器:(+)IE7开始兼容,IE6不兼容
·
选择器
说
IE6
层面兼容的:
标签选择器、
id
选择器、类选择器、后代、交集选择器、并集选择器、通配符。
|
IE7
能够兼容的:儿子选择器、下一个兄弟选择器
|
IE8
能够兼容的:
|
二、一些小问题
1.IE6,不支持小于12px的盒子。
解决方法:将盒子的字号,设置小(小于盒子的高),比如0px。
2.浏览器hack。hack就是“黑客”,就是使用浏览器提供的后门,针对某一种浏览器做兼容。
IE6留了一个后门,就是只要给css属性之前,加上下划线,这个属性就是IE6认识的专有属性。
比如:
3.1与2结合:
4.
IE6
不支持用
overflow:hidden;
来清除浮动的
解决办法,以毒攻毒。追加一条
_zoom:1;
完整写法:
|
实际上,
_zoom:1;
能够触发浏览器
hasLayout
机制。这个机制,不要深究了,因为就
IE6
有。我们只需要让
IE6
好用,具体的实现机制,有兴趣的同学,自行百度。
强调一点,
overflow:hidden;
的本意,就是溢出盒子的
border
的东西隐藏,这个功能是
IE6
兼容的。不兼容的是
overflow:hidden;
清除浮动的时候。
|