IE浏览器兼容性问题解决方案
一、CSS常见问题
1、H5标签兼容性
解决方案:<script src="http://cdn.bootcss.com/html5shiv/3.7.3/html5shiv.min.js"></script>
2、元素浮动之后,能设置宽度的话就给元素加宽度,如果需要宽度是内容撑开的,就给它里边的块元素加上浮动float:left;
3、第一块元素浮动,第二块元素加margin-left值等于第一块元素宽度,在IE6下会有间隙问题
解决方案:不要用margin-left,给两个元素都加上浮动float:left;
4、IE6下子元素超出父级宽高,会把父级宽高撑开,比如用于放置轮播的ul宽度会超出父元素
解决方案:不要让子元素的宽高超过父级
5、P包含块元素嵌套规则
牢记规则:p、h标签不能嵌套块元素
二、CSS兼容性问题
1、margin兼容性问题
1)margin-top传递,子元素上下margin会传递给父级
阻止:触发BFC(如overflow:hidden;拯救标准浏览器及IE78)、触发IE的haslayout zoom:1(拯救IE67);
2)上下margin叠压(触发条件:同级元素,第一个元素的下与第二个元素的上会叠压在一起)
解决方案:两个元素分开设置margin,然后尽量使用同一方向的margin,比如margin-top
2、display:inline-block; 块元素变为内联块, IE67不兼容;内联元素变为内联块,所有浏览器都支持
解决方案:{display:inline-block; *display:inline; *zoom:1;}
发现问题:当然,变为内联块后,有一个特性就是如果元素换行,在页面上元素之间就会有空隙的,空隙大小为一个空格的像素大小。
3、IE6元素最小高度为19px
解决方案:overflow:hidden;
4、IE67双边距,当元素浮动后,再设置margin,那么就会产生双倍边距
解决方案:针对IE67,添加*display:inline;样式,比如页面上横向排列的几组块,会经常遇到
5、li里元素都浮动,在IE67下方会产生4px间隙问题
解决方案:针对IE67,添加*vertical-align:top;样式
6、IE6下,两个浮动元素之间有注释或者内联元素并且和父级宽度相差不超过3px,会导致多复制一些文字问题
解决方案:1)两个浮动元素之间避免出现内联元素或者注释
2)与父级宽度相差3px或以上
7、IE67父级元素的overflow:hidden;子元素设置position:relative后,就包不住子元素了
解决方案:针对IE67,给父级元素添加position:relative;
8、IE6下绝对定位元素父级宽高是奇数,绝对定位元素的right和bottom值会有1px的偏差
解决方案:避免父级宽度出现奇数
9、IE6下绝对定位元素和浮动元素并列绝对定位元素消失
解决方案:浮动元素和绝对定位元素时同级的话,定位元素就会消失,只要让它们两个不处于同级就可以避免这个bug了
10、IE6下input的空隙
解决方案:针对IE67,给input元素添加*float:left;
11、IE6下输入类型表单控件背景问题,背景不固定,滚动了
解决方案:设置background-attachment:fixed;
12、line-height 在IE67、FF下不兼容,会有几个像素的偏差,目测只有IE8和其他标准浏览器正常
IE6下,想给给图片设置line-height来达到垂直居中效果是实现不了的,就给img标签单独设置{float:left;postion:relative;top:...}
当然,文本的line-height还是识别的
13、常见文章列表布局:标题+发布日期
<ul>
<li>这里是文章列表标题,我是奇葩的IE浏览器<span style="float:right">2015-07-17</span></li>
<li>这里是文章列表标题2,我是奇葩的IE浏览器<span style="float:right">2015-07-17</span></li>
</ul>
假设你按照以上布局,那么恭喜你,在IE67下发布日期会掉到下一行去
解决方案,按如下布局:
<ul>
<li><span style="float:right">2015-07-17</span>这里是文章列表标题,我是奇葩的IE浏览器</li>
<li><span style="float:right">2015-07-17</span>这里是文章列表标题2,我是奇葩的IE浏览器</li>
</ul>
或
<ul>
<li><span style="float:left">这里是文章列表标题,我是奇葩的IE浏览器</span><span style="float:right">2015-07-17</span></li>
<li><span style="float:left">这里是文章列表标题2,我是奇葩的IE浏览器</span><span style="float:right">2015-07-17</span></li>
</ul>
14、遮罩弹窗
标准 不透明度:opacity:0~1
IE678滤镜:filter:alpha(opacity=0~100);
15、<a>的手形光标
标准浏览器下,不需要设置也有
IE6下没有,就给a{cursor:pointer;}
16、<a>的 text-decoration:none;
标准下,只需 a {text-decoration:none;}
IE6下,a {text-decoration:none;} 并且 a:hover {text-decoration:none;}
三、CSS hack
\9 IE67 8-10 例如:background:blue\9;
+* IE67 例如:*background:yellow; +background:yellow;
_ IE6 例如:_background:green;
四、png-24兼容性问题,IE6不支持
解决方案:
1)引用Js插件,不能处理body以上的,最好放在页面底部,这样不影响页面加载,也就是放在</body>标签上面
<!--[if IE 6]>
<script src="DD_belatedPNG_0.0.8a.js" type="text/javascript"></script>
<script>
DD_belatedPNG.fix("*");
</script>
<![endif]-->
2)原生滤镜,给背景图所在的标签加上如下样式,比如body
body {
_background-image:none;
_filter:progid:DXImage Transform.Microsoft.AlphaImageLoader(src="XX.png",sizingMethod="crop");
}
IE浏览器兼容性问题解决方案的更多相关文章
- JS组件系列——Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案
前言:最近项目里面需要用到表格的冻结列功能,所谓“冻结列”,就是某些情况下表格的列比较多,需要固定前面的几列,后面的列滚动.遗憾的是,bootstrap table里自带的fixed column功能 ...
- (转)没有IE就没有伤害!浏览器兼容性问题解决方案汇总
普及:浏览器的兼容性问题,往往是个别浏览器(没错,就是那个与众不同的浏览器)对于一些标准的定义不一致导致的.俗话说:没有IE就没有伤害. 贴士:内容都是自己总结的,不免会出现错误或者bug,欢迎更正和 ...
- 浏览器兼容性问题解决方案之CSS,已在IE、FF、Chrome测试
当前主浏览器的核心是什么? 1) Trident:IE浏览器使用的内核,该内核程序在1997年的IE4中首次被采用,是微软在Mosaic代码的基础之上修改而来的,并沿用到目前的 IE7.Trident ...
- angular浏览器兼容性问题解决方案
问题:edge浏览器下,固定列的边框消失 原因:ng-zorro-antd表格组件使用nzLeft和nzRight指令固定的表格列,这两个指令的实现css3中的标签: position: -webki ...
- 转载-没有IE就没有伤害!浏览器兼容性问题解决方案汇总
普及:浏览器的兼容性问题,往往是个别浏览器(没错,就是那个与众不同的浏览器)对于一些标准的定义不一致导致的.俗话说:没有IE就没有伤害. 贴士:内容都是自己总结的,不免会出现错误或者bug,欢迎更正和 ...
- CSS 多浏览器兼容性问题及解决方案
兼容性处理要点1.DOCTYPE 影响 CSS 处理 2.FF: 设置 padding 后, div 会增加 height 和 width, 但 IE 不会, 故需要用 !important 多设一个 ...
- 笔试常考--浏览器兼容性问题及解决方案(CSS)
问题一:不同浏览器的标签默认的外补丁和内补丁不同 问题现象:随便写几个标签,不加样式控制的情况下,各自的margin 和padding差异较大. 解决方案:css里加: ;;} 备注:这个是最常见的也 ...
- 常见浏览器兼容性问题与解决方案css篇
浏览器兼容问题一:不同浏览器的标签默认的外补丁和内补丁不同 问题症状:随便写几个标签,不加样式控制的情况下,各自的margin 和padding差异较大. 碰到频率:100% 解决方案:CSS里 ...
- JAVASCRIPT 浏览器兼容性问题及解决方案列表
JAVASCRIPT 浏览器兼容性问题及解决方案列表(1)获取HTML元素只兼容IE:document.all.hello hello 兼容所有: document.getElementById(“h ...
随机推荐
- BootStrap母版页布局.子页面布局.BootstrapTable.模态框.警告框.html导出tabl生成Excel.HTML生成柱图.饼图.时间控件中文版
如上就是很多后台管理系统的母版页布局. 左边一列模板.上面一列系统标识. 空白处充填子页面 以ASP.NET MVC为基础 引入bootstrap.js.bootstrap.css body: < ...
- C# Winform欢迎窗体实现()
方法一.program.cs 中先启动欢迎窗体,然后注册程序运行空闲去执行主程序窗体相应初始化代码 static void Main(string[] args) { Application.Enab ...
- 内核启动后,lcd显示logo失败
针对-s5pv210,但对其他平台也使用 lcd显示logo失败,若显示成功默认的logo是一只企鹅,但是串口打印“Start display and show logo”,但是LCD屏没有显示 ...
- 设置SQL脚本大小敏感
1.设置SQL脚本大小写不敏感 USE [master] GO ALTER DATABASE [DatabaseName] COLLATE Chinese_PRC_CI_AI GO 2.设置大S ...
- 安装maven时遇到的问题
配置好环境变量和本地仓库后,在命令行里输入mvn compile,可以显示成功,但是mvn install后就一直失败.显示如下错误: 在idea中显示如下错误: 其实即使显示编译成功,但并没有真正的 ...
- Gradle 引入本地定制 jar 包
第 1 步:创建文件夹,拷贝 jar 包 在自己的 Gradle 项目里建立一个名为 “libs” (这个名字可以自己定义,不一定非要叫这个名字)的文件夹,把自己本地的 jar 包拷贝到这个文件夹中. ...
- Solr学习笔记(1) —— Solr概述&Solr的安装
一.概述 使用Solr实现电商网站中商品信息搜索功能,可以根据关键字.分类.价格搜索商品信息,也可以根据价格进行排序. 1.1 实现方法 在一些大型门户网站.电子商务网站等都需要站内搜索功能,使用传统 ...
- vs 部署SharePoint项目时, package丢失
bug描述:vs部署sharepoint项目时报错:重启iis应用池失败,未将对象设置引用到实例. 解决方案:查看项目文件(包括隐藏文件),发现package文件不见了,在回收站内能找到被删除的pac ...
- poj1125传播谣言(弗洛伊德,求最长路)
Stockbroker Grapevine Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 38541 Accepted: ...
- Codeforces Round #520 (Div. 2) B math(素数因子的应用)
题意: 给出一个n ; 有两个操作: 1,mul A , n=n*A : 2,sqrt() , n=sqrt(n) 开更出来必须是整数 : 求出经过这些操作后得出的最小 n , 和 ...