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

摘要:
IE6不支持min-height,解决办法使用csshack:.target{min-height:100px;height:auto!important;height:100px;//IE6下内容高度超过会自动扩展高度}ol内li的序号全为1,不递增。2)浮动元素display:inline;这样解决问题且无任何副作用:css标准规定浮动元素display:inline会自动调整为block通过为块级元素设置宽度和左右margin为auto时,IE6不能实现水平居中,解决方法:为父元素设置text-align:center;
  • 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   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;

免责声明:文章转载自《IE6浏览器常见的bug及其修复方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇.Net Core微服务入门全纪录(四)——Ocelot-API网关(上)Fedora 15 安装与配置一览[转]下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

详解 Java 中的三种代理模式

代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能. 这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法. 举个例子来说明代理的作用:假设我们想邀请一位明星...

前端本地调试解决跨域的两种方法

1、谷歌浏览器非安全模式解决跨域 右击谷歌浏览器、在属性>>快捷方式>>目标里尾部加上 --disable-web-security --user-data-dir。前面要有空格 2、webpack前后端分离开发接口调试proxyTable解决方案 以vue-cli为例 dev: { env: require('./dev....

linux下关闭桌面模式使用命令行模式及其它模式

vim/etc/inittab 把其中的id:5:initdefault中的5改为3。 Linux操作系统有六种不同的运行级(run level),在不同的运行级下,系统有着不同的状态,这六种运行级分别为:0:停机(记住不要把initdefault 设置为0,因为这样会使Linux无法启动)1:单用户模式,就像Win9X下的安全模式。2:多用户,但是没有...

opencv linux

http://docs.opencv.org/doc/tutorials/introduction/linux_install/linux_install.html https://www.google.com.hk/search?q=opencv+linux&ie=utf-8&oe=utf-8&gws_rd=cr&ei=f...

ios framework通用库的制作

这篇文章是在史上最完整的iOS DIY framework 详细教程(一)的基础上加以修改 1、新建一个静态库工程: 2:取自己喜欢的名字: 3、删除向导所生成工程中的 Target: 3、删除TestFrameWork对应的工程文件夹: 5:删除bulid 关连项 选择左下角Manager Scheme 选中 Scheme,点击左下角的减号删...

BeanUtil拷贝

拷贝vo对象 一些查询到的数据很多是不需要的,可以创建vo对象,对需要的对象属性进行拷贝 maven依赖 <dependency>   <groupId>org.projectlombok</groupId>   <artifactId>lombok</artifactId>   <vers...