IE6兼容问题

微型盒子

IE6,不支持小于12px的盒子,任何小于12px的盒子,在IE6中看都大
解决办法就是将盒子的字号,设置小(小于盒子的高),比如0px。

height: 4px;
_font-size: 0px;

IE6留了一个后门,就是只要给css属性之前,加上下划线,这个属性就是IE6认识的专有属性。

IE6不支持用overflow:hidden;来清除浮动

* 解决办法:
追加一条
_zoom:1;

* 完整写法:
overflow: hidden;
_zoom:1;

实际上,_zoom:1;能够触发浏览器hasLayout机制。

强调一点, overflow:hidden;的本意,就是溢出盒子的border的东西隐藏,这个功能是IE6兼容的。不兼容的是overflow:hidden;清除浮动的时候。

解决这两个IE6的兼容问题的属性,我们称为伴生属性。

IE6双倍margin bug

当出现连续浮动的元素,携带和浮动方向相同的margin时,队首的元素,会双倍marign。

<ul>
   <li></li>
   <li></li>
   <li></li>
 </ul>
  • 解决方案:
  1. 使浮动的方向和margin的方向,相反。
    所以,你就会发现,我们特别喜欢,浮动的方向和margin的方向相反。并且,前端开发工程师,把这个当做习惯了。
      float: left;
      margin-right: 40px;
    
2. 使用hack
单独给队首的元素,写一个一半的margin
  • ul li.no1{ _margin-left:20px; } ```

    IE6的3px bug

    • 解决办法:
      不用管,因为根本就不允许用儿子踹父亲。所以,如果你出现了3px bug,说明你的代码不标准。
    原文地址:https://www.cnblogs.com/lland/p/6361752.html