一、IE6/IE7对display:inline-block的支持欠缺

1、表现描述
  这个应该算是很经典的ie兼容性问题了,inline-block作用就是将块级元素以行的等式显示。在主流浏览器中水平显示都没有问题,可是到ie6/ie7下就成垂直显示了。
   (1)css代码:
#ul-menu{
  margin:;
  padding:;
  list-style:none;
}
#ul-menu li{
  inline-block;
  margin-right:15px;
}

  (2)HTML代码:

<ul id="ul-menu">
<li><a href="#">首页</a></li>
<li><a href="#">公司介绍</a></li>
<li><a href="#">联系我们</a></li>
</ul>

2、解决方法:

#ul-menu li{
  display:inline-block;
  _zoom:;
  *display:inline;
}

二、IE6/IE7显示垂直滚动条

1、表现描述:
  有时候页面就几个字,根本没有超出显示范围,IE6/IE7还会显示垂直滚动条。 
2、解决方法:

html{
  overflow:auto;
}

三、IE6不支持css min-width与min-height

1、表现描述:
  有时候想让一个div最小高度为100px,但ie6中识别min-height不识别。 
2、解决方法
div{
  min-height:100px;
  height: auto !important;
  height: 100px;
}

四、PNG图片透明

1、表现描述:
  png的图片在ie6中,透明的部分会显示成灰色。 
2、解决方法:
  增加一个针对png的hack
img{
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='图片路径', sizingMethod='crop');
}

五、IE6下浮动时margin双倍边距

1、表现描述
  一个div,其css为float:left,然后margin-left:20px,在主流浏览器中显示没有问题,但在ie6中则会出现双倍边距,即为40px。
    (1)CSS代码:
#test{
  width:100px;
  height:100px;
  background:#ccc;
  float:left;
  margin-left:20px;
}

  (2)HTML代码:

<div id="test"></div>

2、解决方法:

  将对应样式增加display:inline属性

#test{
  width:100px;
  height:100px;
  background:#ccc;
  float:left;
  margin-left:20px;
  display:inline;
}

六、IE不能识别margin-top

1、表现描述:

  顶部一个div,设置margin-top:120px;时,在主流浏览器下显示正常,在IE下没有效果

  (1)HTML代码:

<body>
<div class="top"></div>
</body>

  (2)CSS代码:

.top{
width: 1000px;
height: 200px;
margin-top: 120px;
border: 1px solid #CCC;
}

2、解决方法:

  (1)仅是间距的显示,将margin-top换成padding-top即可(需注意padding对其背景的影响)。

.top{
width: 1000px;
height: 200px;
padding-top: 120px;
border: 1px solid #CCC;
}

  (2).使这个块不直接跟在前面的这个绝对定位元素后面,比如在它们之间插入一个空div标签,或者交换这两个标签的前后位置

七、IE7不能按数组下标的方式读取字符串的字符

1、表现描述:
  写js代码时,用数组下标的方式访问一个字符串的字符时,在ie7下得到值的为undefined,代码如下:
var str = "apple";
console.log(str[0]); //ie7中输出为undefined

2、解决方法:

var str="apple";
console.log(str.charAt(1)); //输出a
console.log(str.substring(0,1)); //输出a
console.log(str.slice(0,1)); //输出a

八、IE下option的onclick事件绑定

1、表现描述
  有这样一个需求,用select做的list列表,option充当列表项,当点击option的时候显示这个option的文本,在chrome、firefox中直接绑定option的单击事件就可以实现,但ie下不可以。
  (1)jquery代码:
<script type="text/javascript">
$(document).ready(function(){
$("#selFruit option").click(function(){
alert($(this).text());
});
})
</script>

  (2)HTML代码:

<select id="selFruit " multiple=”multiple”>
<option value="0">apple</option>
<option value="1">orange</option>
<option value="2">banana</option>
</select>
2、解决方法:
  可以先找到选中的(:selected)option对象,再操作这个对象,这种方法浏览器都支持,代码如下:
<script type="text/script">
$("#selFruit").click(function(){
var $opt =$(this).find('option:selected');
alert($opt.text());
});
</script>

九、IE不能支持CSS3属性nth-child

1、表现描述:

  设置某一元素的第几个子元素单独的属性时,CSS3提供了nth-child属性,在Google,FireFox等浏览器下正常,但是该属性在IE下无效。

  (1)HTML代码:

<ul>
<li>aaa</li>
<li>bbb</li>
<li>ccc</li>
</ul>

  (2)CSS代码:

ul li:first-child {
background: #CCC;
} ul li:nth-child(2) {
background: #EEE;
} ul li:nth-child(3) {
background: #AAA;
}

2、解决办法:

用jQuery的属性解决:

$("ul li:nth-child(2)").css("background", "#CCC");
$("ul li:nth-child(3)").css("background", "#CCC");

十、上下margin重合

  1、表现描述:

  上面div设置margin-bottom,下面div设置margin-top。在IE和FireFox下产生了重合

  (1)HTML代码:

<div class="top">
</div>
<div class="bottom">
</div>

  (2)CSS代码:

.top {
width: 100px;
height: 100px;
background: #CCC;
margin-bottom: 50px;
} .bottom {
width: 100px;
height: 100px;
background: #EEE;
margin-top: 50px;
}

2、解决方法:

统一使用上方div的margin-bottom或者下方div的margin-top。

十一、div浮动,IE产生3px的bug

1、表现描述:

  左边对象浮动,右边vaiyong外补丁的左边距来定位,在IE下,右边对象内的文本会离左边有3px的间距。

  (1)HTML代码:

<div class="box">
<div class="left"></div>
<div class="right"></div>
</div>

  (2)CSS代码:

.box {
float: left;
width: 800px;
} .left {
float: left;
width: 50%;
} .right {
width: 50%;
}

2、解决方法:

(1)CSS代码中增加这行代码即可:

*html .left {
margin-right: -3px;
}

十二、IE6无法定义1px高度左右的容器

1、表现描述:

  定义1px的容器,因为行高,导致IE6下无法定义。

2、解决方法:

overflow: hidden; | zoom: 0.08; | line-height: 1px;
<style>
<!--
div {
background: red;
}
-->
</style>

IE兼容性问题的总结的更多相关文章

  1. 前端css兼容性与易混淆的点

    一.常用的骨灰级清除浮动 .clearfix:after { content: "."; display: block; height:; clear: both; visibil ...

  2. SQL Server2008R2 在windows8上安装,出现“兼容性”和 “执行未经授权的操作”的错误!

    本人是windows8.1的操作系统,亲测安装成功 解决方法如下: 1.卸载干净sql Server2008r2,包括注册表内容,删除c盘下的安装路径! 2.关闭防火墙(这步很重要) 3.断开网络连接 ...

  3. [转载]强制不使用“兼容性视图”的HTML代码

    在IE8浏览器以后版本,都有一个"兼容性视图",让不少新技术无法使用.那么如何禁止浏览器自动选择"兼容性视图",强制IE以最高级别的可用模式显示内容呢?下面就介 ...

  4. 企业IT管理员IE11升级指南【16】—— 使用Compat Inspector快速定位IE兼容性问题

    企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...

  5. 浅谈WebService的版本兼容性设计

    在现在大型的项目或者软件开发中,一般都会有很多种终端, PC端比如Winform.WebForm,移动端,比如各种Native客户端(iOS, Android, WP),Html5等,我们要满足以上所 ...

  6. position:sticky的兼容性尝试

    开篇 笔者刚刚结束淘宝的工作,现在加入了一家有青春活力的垂直电商公司,正对着阿里巴巴的西溪园区,最近一直在熟悉新的工作环境和规范,因此博客有好些时间没有更新了,在此抱歉! 在忙碌完公司的发布系统之后, ...

  7. 常用原生JS方法总结(兼容性写法)

    经常会用到原生JS来写前端...但是原生JS的一些方法在适应各个浏览器的时候写法有的也不怎么一样的... 今天下班有点累... 就来总结一下简单的东西吧…… 备注:一下的方法都是包裹在一个EventU ...

  8. Atitit Atitit.软件兼容性原理----------API兼容 Qa7

    Atitit Atitit.软件兼容性原理----------API兼容 Qa7 1. 兼容性的重要性与反面教材1 2. 提升兼容性的原则2 2.1. What 与how 分离2 2.2. 老人老办法 ...

  9. Atitit.兼具兼容性和扩展性的配置方案attilax总结

    Atitit.兼具兼容性和扩展性的配置方案attilax总结 文件配置法1 Jdbc多数据源文件配置发1 Bat文件配置法1 改进的文件配置法(采用类似i18n技术) 推荐1 使用自动化pc_id的方 ...

  10. Atitit.软件架构高扩展性and兼容性原理与概论实践attilax总结

    Atitit.软件架构高扩展性and兼容性原理与概论实践attilax总结 1. 什么是可扩展的应用程序?1 2. 松耦合(ioc)2 3. 接口的思考 2 4. 单一用途&模块化,小粒度化2 ...

随机推荐

  1. [转]AJAX 简介

    AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术. 您应当具备的基础知识 在继续学习之前,您需要对下面的知识有基本的了解: HTML / XHTML CSS JavaScript ...

  2. 【转】OPPO A77保持应用后台运行方法

    原文网址:http://www.3533.com/news/16/201708/163086/1.htm OPPO A77保持应用后台运行方法.手机的运行内存大小有限,因此在出现运行应用过多时,系统就 ...

  3. 用react编写一个hello world

    我要分享的是用react搭建一个简单的hello world, 一个小demo, 大神请略过 首先看一下目录结构 创建一个目录, 用于存放demo mkdir reactHello cd reactH ...

  4. 通过script src引入ElementUI时,使用语句:window.ELEMENT.MessageBox.alert(xxx) 调用弹出框

    通过script src引入ElementUI时,使用语句:window.ELEMENT.MessageBox.alert(xxx) 调用弹出框.

  5. js 去除字符串第一位逗号的方法

    <script type="text/javascript"> var s=',123456'; if (s.substr(0,1)==',') s=s.substr( ...

  6. Golang cpu的使用设置--GOMAXPROCS

    以下测试,使用的Go版本是1.8.3 不设置 如果没有调用runtime.GOMAXPROCS 去设置CPU,Golang默认使用所有的cpu核. 测试机器CPU有4个核,测试代码开启4个gorout ...

  7. pyhanlp用户自定义词典添加实例说明

    pyhanlp用户自定义词典添加实例说明 pyhanlp是python版封装的的HanLP,项目地址:https://github.com/hankcs/pyhanlp 经过测试,HanLP比nltk ...

  8. RedHat7.3安装MySQL5.7

    1.下载Mysql安装包 https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.20-1.el6.x86_64.rpm-bundle.tar 附百度 ...

  9. Shell中怎么获取当前日期和时间

    转载自:https://zhidao.baidu.com/question/627912810044012524.html 获得当天的日期 [root@master ~]# date +%Y-%m-% ...

  10. java实现文件的上传和下载

    1. servlet 如何实现文件的上传和下载? 1.1上传文件 参考自:http://blog.csdn.net/hzc543806053/article/details/7524491 通过前台选 ...