美文网首页
HTML学习笔记 IE6 兼容问题

HTML学习笔记 IE6 兼容问题

作者: 1剑天下 | 来源:发表于2017-08-24 18:00 被阅读22次

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

    一旦属性前面加了"_",这个属性只有在IE6中才能被识别,才能生效
    

    问题一:IE6,不支持小于12px的盒子,任何小于12px的盒子,在IE6中看都大

    解决办法很简单,就是将盒子的字号,设置小(小于盒子的高),比如0px。
    
        height: 4px;
        _font-size: 0px;
    实际上,_zoom:1;能够触发浏览器hasLayout机制。这个机制,因为就IE6有。
    
    

    问题二:IE6不支持用overflow:hidden;来清除浮动的

    解决办法,以毒攻毒。追加一条
    
        overflow: hidden;
        _zoom:1;
    
    

    问题三:IE6 3px bug

    6E94CC09-7EB0-4508-902A-E72AA36F1AF7.png
    解决办法:
    不用管,因为根本就不允许用儿子踹父亲。所以,如果你出现了3px bug,说明你的代码不标准。
    
    要善于用父亲的padding
    

    问题四:IE6双倍margin bug

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

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

    问题五默认行高

    产生条件:清除浮动的时候,有些人会采取一种使用一个空的div,然后为这个div设置{clear:both}。在大部分
    浏览器当中,这样做是没有任何问题的,但是在IE6浏览器当中,div即使是空的,也会存在默认行高。

    解决办法:设置其高度为0,并设置overflow:hidden。
    {
    height:0;
    overflow:hidden;
    clear:both;
    }
    
    
    

    IE6 浏览器常见兼容问题 大汇总http://blog.csdn.net/html5_/article/details/21072109

    相关文章

      网友评论

          本文标题:HTML学习笔记 IE6 兼容问题

          本文链接:https://www.haomeiwen.com/subject/jbuedxtx.html