概述

本小菜平时主要写后台程序,偶尔也会去写点前端页面,写html、css、js的时候,会同时开着ie6、ie7、ie8、ie9、chrome、firefox等浏览器进行页面测试,和大部分前端开发一样,经常被ie折磨,下面就总结一些常见的浏览器兼容性问题,放一起方便自己总结学习,我知道这类型文章,很多大牛都总结过,且写的特别专业。不过我写的都是自己最近碰到的,本人技术一般,也希望各位多加指点。 
 

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

1)表现描述
这个应该算是很经典的ie兼容性问题了,inline-block作用就是将块级元素以行的等式显示。曾经有一个前端美女问我一个问题,是一个用ul和li做的横向菜单,她没有用float:left,而是将li设置display:inline-block,在主流浏览器中水平显示都没有问题,可是到ie6/ie7下就成垂直显示了。
css代码:
 #ul-menu{
   ;
   ;
   list-style:none;
 }
 #ul-menu li{
   inline-block;
   margin-right:15px;
 }
html代码:
  <ul id="ul-menu">
      <li><a href="#">首页</a></li>
      <li><a href="#">公司介绍</a></li>
      <li><a href="#">联系我们</a></li>
 </ul>
主流浏览器中显示正常:
ie6/ie7下垂直显示:
2)解决方法
 #ul-menu li{
   display:inline-block;
 ;
   *display:inline;
 }

二、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下不可以。
jquery代码:
   <script type="text/javascript">
      $(document).ready(function(){
           $("#selFruit option").click(function(){
                alert($(this).text());
           });
    });
html代码:
 <select id="selFruit " multiple=”multiple”>
      <option value="0">apple</option>
      <option value="1">orange</option>
      <option value="2">banana</option>
 </select>
主流浏览器中显示:
ie点击下没有反应:
2)解决方法
可以先找到选中的(:selected)option对象,再操作这个对象,这种方法浏览器都支持,代码如下:
     $("#selFruit").click(function(){
          var $opt =$(this).find('option:selected');
          alert($opt.text());
     });
ie下显示:
 
 

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

1)表现描述
比如有一个div,其css为float:left,然后margin-left:20px,在主流浏览器中显示没有问题,但在ie6中则会出现双倍边距,即为40px。
css代码:
 #test{
   width:100px;
   height:100px;
   background:#ccc;
   float:left;
   margin-left:20px;
 }
html代码:
 <div id="test"></div>
主流浏览器中显示:
ie6中显示:
 
2)解决方法
在对应的样式中加上display:inline,代码如下:
 #test{
   width:100px;
   height:100px;
   background:#ccc;
   float:left;
   margin-left:20px;
   display:inline;
 }

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

1)表现描述
有时候想让一个div最小高度为100px,但ie6中识别min-height,真心的不识别。 
2)解决方法
这个方法是从网上看到的
 div{
   min-height:100px;
   height: auto !important;
   height: 100px;
 }
意思是:新的浏览器识别出min-height这个样式,当执行到第二行的时候又有!important,所以第三行不起作用。而在ie6中解析时,它不识别min-height和!important,所以直接就解析第三行height样式,继而间接实现了min-height。同理min-width也可以用这种方法实现,代码如下:
 div{
   min-width:100px;
   width: auto !important;
4   width: 100px;
 }

 

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

1)表现描述
有时候页面就几个字,根本没有超出显示范围,IE6/IE7还会显示垂直滚动条。 
2)解决方法
将html样式设置overflow属性,代码如下:
 html{
   overflow:auto;
 }

 

七、PNG图片透明

1)表现描述
这个相信大家都遇到过,png的图片在ie6中,透明的部分会显示成灰色,非常的难看。 
2)解决方法
方法是网上找的,是一个争对png的hack,代码如下:
 img {
     filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(...);
 }

总结

上面写的是平时遇到但被解决掉的几个ie下的兼容性问题,也知道还有很多没有碰到,本人技术有限,大家也可以把自己遇到的浏览器问题留言给我,这样我就有机会开拓视野和增长见识,谢谢支持。
 

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

  1. IE6 7下常见CSS兼容性处理

    以下是一些比较常见的IE6 7下的兼容性问题. 在当下这个时代,其实我们几乎可以不用再去针对IE6做兼容性的处理,除非你的公司还是诡异的要求你兼容到IE6.但是了解一些常见的兼容性问题还是可以帮助我们 ...

  2. ie6下常见的bug 调整页面兼容性

    ie6下常见的bug 我们布局页面,首先符合标准,如何写一个页面的标准性? 但是ie6等浏览器本身就比较特殊,bug比较多,兵法云,知己知彼百战百胜.我们需要了解ie6的一些常见bug,这样,更好的调 ...

  3. html常见兼容性问题

    html常见兼容性问题? 1.双边距BUG float引起的  使用display 2.3像素问题 使用float引起的 使用dislpay:inline -3px 3.超链接hover 点击后失效 ...

  4. linux下常见解压缩命令

    linux下常见的压缩文件格式有tar.gz.tar.gz.tar.bz2.zip等等.对于不同的压缩文件格式有对应的解压缩命令.下面就对此小结一下: 1.后缀为.tar 用 tar –xvf 解压 ...

  5. 利用Javascript判断操作系统的类型实现不同操作系统下的兼容性

    原文地址 http://www.jb51.net/article/33640.htm 在通过Javascript实现客户端和服务端的交互时,有时候需要对操作系统进行判断,以便实现不同操作系统下的兼容性 ...

  6. storage在IE8下的兼容性写法

    storage 本地缓存,这是HTML5的一个非常好用的地方,具体好用在哪,网上可以找到很多,但是我觉得总结的都不是很完整,我建议大家有空的话可以看下JavaScript权威指南这本书,里面对于这个方 ...

  7. Linux下常见音频格式之间的转换方法

    Linux下常见音频格式之间的转换方法[转] 下面简单介绍下Linux环境常见音频格式之间的转换方法: MP3 相关工具: lameOGG 相关工具: vorbis-toolsAPE 相关工具: ma ...

  8. linux下常见的包安装方式

    linux下常见的包安装方式 一.总结 一句话总结: rpm包安装 tar.gz源代码包安装 yum方式安装rpm包 bin文件安装 1.yum是什么? 安装所有依赖的软件包 Yum(全称为 Yell ...

  9. IE6下CSS常见兼容性问题及解决方案

    1. 在IE6元素浮动,如果宽度需要内容撑开,就给里面的块元素加浮动. 2. IE6下最小高度问题:在IE6下元素高度小于19px的时候,会被当作19px处理.解决方案:给元素加 overflow:h ...

随机推荐

  1. 20135323符运锦----第三周:构建一个简单的Linux系统MenuOS

    相关知识点 1.arch目录 占据相当庞大的空间,X86目录下代码需要重点关注. 2.init目录 内核启动的相关代码基本都在此目录下,内含MAIN.C,文件中START_KERNEL是整个LINUX ...

  2. 《Linux内核分析与设计实现》读书笔记一

    第一章 Linux内核简介 1.1 Unix的历史 Unix的特点: Unix很简洁,仅仅提供几百个系统调用并且有一个非常明确的设计目的: 在Unix中,所有的东西都被当做文件对待. Unix的内核和 ...

  3. 第五篇——Spring音乐播放界面设计(C#)

    由于小组成员已经完成软件的详细设计说明书,在这里只具体说明软件程序的细节编写,以免重复. 歌曲的播放采用VS自带的axWindowsMediaPlayer插件,所以程序中涉及到许多该插件的使用.Ctl ...

  4. css3-文本新增属性

    rgba:a是设透明度值 应用:background:rgb(255,255,255,0.5) color:rgb(255,255,255,0.5) border:1px solid rgb(255, ...

  5. CentOS下面磁盘扩容处理

    1. 给虚拟机增加一块硬盘: 过程不表 2. 增加了硬盘之后需要重启一下 查看磁盘 ls /dev/sd* 3. 使用  gdisk 处理磁盘 注意 这里面fdisk 貌似没法处理成 LVM 必须使用 ...

  6. [转帖] K8S 常用命令

    k8s常用命令  原贴地址 查看集群信息: [root@kubernetes-master pods]# kubectl cluster-info kubectl cluster-info展示结果 k ...

  7. MyBatis传入多个参数的问题(转)

    一.单个参数: public List<XXBean> getXXBeanList(String xxCode); <select id="getXXXBeanList&q ...

  8. CUDA ---- device管理

    device管理 NVIDIA提供了集中凡是来查询和管理GPU device,掌握GPU信息查询很重要,因为这可以帮助你设置kernel的执行配置. 本博文将主要介绍下面两方面内容: CUDA run ...

  9. Dubbo 生态添新兵,Dubbo Admin 发布 v0.1

    为了提升 Dubbo 里程碑版本2.7.0的使用体验,我们于去年年中启动了 Dubbo Admin 的重构计划,并作为Dubbo生态的子项目,于近期发布了v0.1,重构后的项目在结构上的变化如下: 将 ...

  10. 【枚举Day1】20170529-2枚举算法专题练习 题解

    题目: http://www.cnblogs.com/ljc20020730/p/6918328.html 评测器:cena 评测记录: 1.OneMoreRectangle 一个矩形 ●如果任意枚举 ...