zoukankan      html  css  js  c++  java
  • IE6浏览器常见的bug及其修复方法

    IE6浏览器常见的bug及其修复方法

     
    • IE6不支持min-height,解决办法使用css hack:
    .target {
        min-height: 100px;
        height: auto !important;
        height: 100px;   // IE6下内容高度超过会自动扩展高度
    }
    
    
    • olli的序号全为1,不递增。解决方法:为li设置样式display: list-item;
    • 未定位父元素overflow: auto;,包含position: relative;子元素,子元素高于父元素时会溢出。解决办法:1)子元素去掉position: relative;; 2)不能为子元素去掉定位时,父元素position: relative;
    <style type="text/css">
    .outer {
         215px;
        height: 100px;
        border: 1px solid red;
        overflow: auto;
        position: relative;  /* 修复bug */
    }
    .inner {
         100px;
        height: 200px;
        background-color: purple;
        position: relative;
    }
    </style>
    
    <div class="outer">
        <div class="inner"></div>
    </div>
    
    
    • IE6只支持a标签的:hover伪类,解决方法:使用js为元素监听mouseenter,mouseleave事件,添加类实现效果:
    <style type="text/css">
    .p:hover,
    .hover {
        background: purple;
    }
    </style>
    
    <p class="p" id="target">aaaa bbbbb<span>DDDDDDDDDDDd</span> aaaa lkjlkjdf j</p>
    
    <script type="text/javascript">
    function addClass(elem, cls) {
        if (elem.className) {
            elem.className += ' ' + cls;
        } else {
            elem.className = cls;
        }
    }
    function removeClass(elem, cls) {
        var className = ' ' + elem.className + ' ';
        var reg = new RegExp(' +' + cls + ' +', 'g');
        elem.className = className.replace(reg, ' ').replace(/^ +| +$/, '');
    }
    
    var target = document.getElementById('target');
    if (target.attachEvent) {
        target.attachEvent('onmouseenter', function () {
            addClass(target, 'hover');
        });
        target.attachEvent('onmouseleave', function () {
            removeClass(target, 'hover');
        })
    }
    </script>
    
    
    • IE5-8不支持opacity,解决办法:
    .opacity {
        opacity: 0.4
        filter: alpha(opacity=60); /* for IE5-7 */
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; /* for IE 8*/
    }
    
    
    • IE6在设置height小于font-size时高度值为font-size,解决办法:font-size: 0;
    • IE6不支持PNG透明背景,解决办法: IE6下使用gif图片
    • IE6-7不支持display: inline-block解决办法:设置inline并触发hasLayout
        display: inline-block;
        *display: inline;
        *zoom: 1;
    
    
    • IE6下浮动元素在浮动方向上与父元素边界接触元素的外边距会加倍。解决办法: 1)使用padding控制间距。 2)浮动元素display: inline;这样解决问题且无任何副作用:css标准规定浮动元素display:inline会自动调整为block
    • 通过为块级元素设置宽度和左右margin为auto时,IE6不能实现水平居中,解决方法:为父元素设置text-align: center;

    转载:http://www.cnblogs.com/mcbye/p/IE6bugs.html

  • 相关阅读:
    【IDE_IntelliJ IDEA】idea主题设置
    【IDE_IntelliJ IDEA】idea中设置类和方法的注释模板
    【前端_css】RGB 常用颜色列表
    【IDE_IntelliJ IDEA】IDEA中使用Junit插件自动创建测试用例到test目录
    【DB_MySQL】MySQL日志分析
    【IDE_IntelliJ IDEA】IDEA 创建类注释模板和方法注释模板
    【前端_js】ES6原生提供的Promise 对象。
    【Java_基础】Java中强制类型转换
    【IDE_IntelliJ IDEA】在Intellij IDEA中使用Debug
    使用反射来编写实体类的XML
  • 原文地址:https://www.cnblogs.com/wang1593840378/p/6368838.html
Copyright © 2011-2022 走看看