一、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. 浏览器多进程架构、浏览器内核多线程、js单线程、GUI 渲染线程 与 JavaScript引擎线程互斥 原理

    浏览器是多进程的,有一个主控进程,以及每一个tab页面都会新开一个进程(某些情况下多个tab会合并进程). 出处:http://www.imweb.io/topic/58e3bfa845e5c1346 ...

  2. OpenGL纹理

    如果不用头文件,把所有东西堆在同一个cpp文件中,会出现“超出GPU内存的错误!” 1 //我们自己的着色器类 #ifndef SHADER_H #define SHADER_H #include & ...

  3. Jenkins进阶-用户权限管理(10)

    在版本发布的由于大家的分工不同,所以想通过控制用户的账号达到权限管理,对每个角色进行权限控制,最初通过"项目矩阵授权策略"的策略对每个项目进行单一的权限控制,当时也满足了效果,随着 ...

  4. Jmeter学习—004—使用代理录制脚本—HTTP代理服务器(APP、web皆可)

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/mmmmmmm_2niu/article/details/78136253记得我最开始使用jmeter ...

  5. Centos 7 systemctl和防火墙firewalld命令

    今天自己在Hyper-v下搭建三台Linux服务器集群,用于学习ELKstack(即大数据日志解决技术栈Elasticsearch,Logstash,Kibana的简称),下载的Linux版本为cen ...

  6. 关于vivado----xdc文件时钟约束的初识

    关于vivado----xdc文件时钟约束的初识 1.Primary Clocks(主时钟) 然而,对于比较复杂的时钟: 2.某个模块采用的主时钟(比如说GT) 3.时钟分频 4.复杂一点的时钟描述 ...

  7. 转:使用 Go-Ethereum 1.7.2搭建以太坊私有链

    使用 Go-Ethereum 1.7.2搭建以太坊私有链 目录 [toc] 1.什么是Ethereum(以太坊) 以太坊(Ethereum)并不是一个机构,而是一款能够在区块链上实现智能合约.开源的底 ...

  8. URL中传递参数给视图函数

    1. 采用在url中使用变量的方式: 在path的第一个参数中,使用<参数名>的方式可以传递参数.然后在视图函数中也要写一个参数,视图函数中的参数必须和url中的参数名称保持一致,不然就找 ...

  9. C++11--Tuple类<tuple>

    #include "stdafx.h" #include <iomanip> #include <condition_variable> #include ...

  10. TCP/IP学习20180627-数据链路层-ethernet

    ifconfig :查看主機支持的網絡協議eth0:以太網接口lo:loopback接口 以太网(Ether-net)的定是指数字设备公司( Digital Equipment Corp.).英特尔公 ...