IE6不兼容问题

IE6不兼容问题

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