IE6中常见兼容性问题及浏览器显示难题
1.双倍边距Bug
问题描述:假如有一个ul,里面有若干li,当li设置为左浮动时,此时设置li的margin-left为10px,会在最左侧呈现双倍情况。即20px
正常显示:
IE6显示:
修正方法:给整个li这个集合加上 display:inline
2.3像素问题
问题描述:比如有两个div,前一个蓝色,后一个绿色,前一个设置了float:left,后面那个没有浮动,此时两个div并不重叠,而是并排并且二者中间相隔3px。
正常显示:
IE6显示:
修正方法:用position:absolute; left:-(X+3)px; 解决,其他情况出现3像素的时候,用浮动div的margin-left:-3px找补。
3.当子元素高度未知,并且给丫设置了浮动,怎么让父元素适应子元素高度?
例子:我用一个固定宽度且有1px黑框的div包一个未知高度的<p>标签,p标签设置浮动,父级不经处理情况下显示:

解决方式:给父容器加上 overflow:auto;就可以让黑框包着p标签。IE6下也可行。
4.IE6臭名昭著的png蓝底问题
问题描述:在IE7+及其他非IE浏览器中,png图像是一种高分辨率的透明图片,解决了gif粗糙的分辨率问题,但是IE6却让png不透明,后面糊上了个难看的淡蓝色底子
解决方式:{filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=images/alert_fax.png);background:none;}用滤镜,加黑部分不要漏。这样就能解决了。
5.CSS sprites技术下IE6小图标闪烁
问题原因:因为IE6没有缓存,所以需要重新加载图像。
解决方式:用JS给丫设图片缓存,代码:document.execCommand("BackgroundImageCache",false,true);
6.IE6不支持min-height问题
问题原因:IE6不支持min-height属性,它只认height,也就说IE6没有最小高度这个概念。例如:我设置一黑框div包着一个不定高度的p标签,我设div的min-height:100px;当p高度变小时div只会缩到100px为止。
正常:
IE6下:
解决方法:使用其他浏览器支持的!important后缀缀上height:auto,然后给IE6设置固定height,这样其他浏览器只会渲染height:auto。可如果给IE6固定高度,那么它就失去了高度自适应这一优点。用JS?
PS:这还适用于最大高度,最小宽度,最大宽度。
7.IE6操蛋的绝对定位配合浏览器尺寸问题
问题描述:在IE6下,如果给body居中了,而且这个body中有一个position:absolute;的div。当浏览器改变时(绿框body,黑框div)
正常:div跟着body走,还是在body的左上角。

IE6下:div错过了body

解决方式:给body加上position:relative;
8.IE6不支持PNG图像解决方法
需要使用滤镜来做,方法是在样式中加入:{filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=images/XXXX.png);background:none;}
9.推荐的IE6 hack 方法
在样式表中用下划线的方式对样式表进行hack有缺点,IE浏览器在某些特殊情况下对这种方式不支持,导致页面加载时样式无法读取发生错误,最好的方法是:<!--[if IE 6]><style></style><![endif]-->
10.父级元素png做背景上加了滤镜后非透明的链接无法点击了
是因为filter后的图像把这些都盖上了,给超链接加 position:relative的方法也会在父级绝对定位的情况下失去作用,那么我们就需要改变思路,在父级中专门再建一个div,用它来加载背景png,就可以解决这个问题。
11.只为父级加了margin,可子级元素在严格限定排版宽高的父级中串行/错位
因为父级的margin会遗传给子级,导致子级有了margin,同时还有了双倍,最好的办法就是在子级的样式表中再把margin弄成自己想要的。
--------------------------------------分割线------------------------------------------------------------------
IE6 无可奈何的缺陷:
1.hover:只有带href的家伙才能支持hover,其他的东西不支持。
2.父元素已经规定好宽高,但子元素过宽或过高会把父元素撑大问题无法避免。只能尽量避免。
3.1px问题:子元素绝对定位,当父元素的宽高为奇数时,导致子元素的right和bottom比目标值大1px。只能尽量避免
4.当li包含块级元素且垂直显示的时候,会发生垂直的li间出现其他浏览器没有的空隙,解决办法对布局是有毁伤的:把li display:inline;
IE6中常见兼容性问题及浏览器显示难题的更多相关文章
- CSS在IE6中常见的兼容性问题
1.在IE6中png24格式的图片不透明 解决办法:写一个条件注释语句,引入一个js插件,然后调用一下js中的方法,把需要处理的元素的类名写在括号中,如下 (插件下载地址:http://www.dil ...
- IE6中PNG图片背景无法透明显示的最佳解决方案
我想,对于像我这样的年轻的程序员来说,做网页开发时用chrome.firefox或者ie10什么的大约是被宠坏了.所以当最近做的项目不得不在恐龙化石般的ie6上运行时,ie6种种诡异的行径简直让我发指 ...
- IE6中内容高度比高级浏览器高的解决办法
1.div高度小于12px时,加over-flow:hidden; 2.多用padding,少用margin: 3.img vertical-align:top;
- IE下常见兼容性问题总结
概述 本小菜平时主要写后台程序,偶尔也会去写点前端页面,写html.css.js的时候,会同时开着ie6.ie7.ie8.ie9.chrome.firefox等浏览器进行页面测试,和大部分前端开发一样 ...
- IE6中 PNG 背景透明的最佳解决方案
为什么要使用 PNG 图片? 简 单来说,使用 PNG 格式比起 GIF 来表现色彩更丰富,特别是表现渐变以及背景透明的渐变要比GIF格式出色很多.目前,最新的浏览器基本上都支持PNG格式.唯独有万恶 ...
- div+css中常见的浏览器兼容性处理-兼容不同浏览器
在网站设计的时候,应该注意css样式兼容不同浏览器问题,特别是对完全使用DIV CSS设计的网,就应该更注意IE6 IE7 FF对CSS样式的兼容,不然,你的网乱可能出去不想出现的效果! div+cs ...
- jquery博客收集的IE6中CSS常见BUG全集及解决方案
今天的样式调的纠结,一会这边一会那么把jquery博客折腾的头大,浏览器兼容性.晚上闲着收集一些常见IE6中的BUG 3像素问题及解决办法 当使用float浮动容器后,在IE6下会产生3px的空隙,有 ...
- ie6下常见的bug 调整页面兼容性
ie6下常见的bug 我们布局页面,首先符合标准,如何写一个页面的标准性? 但是ie6等浏览器本身就比较特殊,bug比较多,兵法云,知己知彼百战百胜.我们需要了解ie6的一些常见bug,这样,更好的调 ...
- select在各个浏览器中的兼容性问题
我们知道select标签在各个浏览器中的属性和各浏览器的支持各有些不同,从而造成select选择框在各浏览器的显示有不同. 下面我们通过对主要CSS属性的支持,打造全兼容select. 对select ...
随机推荐
- Python核心编程--学习笔记--2--Python起步(上)
本章是对Python的主要特性做一个快速介绍. 1 介绍 交互执行时,解释器有两种提示符: 主提示符(>>>):解释器在等待输入下一个语句: 次提示符(...):解释器在等待输入当前 ...
- equals方法,hashcode()方法
Object类的equals 方法 用来检测两个对象是否相等,即两个对象的内容是否相等,区分大小写. (一)说到equals方法,不得不提一下==号. ==用于比较引用和比较原生数据类型时具有不同 ...
- iFreeThinking - 记录生活,分享思考
http://www.ifreethinking.com iFreeThinking.com 是一个非营利性个人博客网站.开于 2014 年,博客主要记录分享一些思考和感悟. 文章列表:http:// ...
- AIDL与service
Service:Local service,一个进程中的多线程服务. AIDL:remote service,不同进程间通信. Service启动方法: startService():调用方destr ...
- [转]linux时间同步
转自:http://www.jotop.com/2012/vpsinfo_0525/439.html 美国的vps大多都是国外的时间,让我们的程序总是不适应.那么如何调整linux的时间为北京时间?修 ...
- 007--VS2013 C++ 显示位图半透明化
以后所有图片都放在根目录下: 如有另放,会特别注明 //全局变量HBITMAP bg,girl;HDC mdc; //起始坐标const int xstart = 50;const int ystar ...
- params关键字
每个C#函数都允许有个参数带params关键字,在调用的时候可以不给他传值,也可以给他传值,还可以给他传多个值 注意事项: ·一个函数中只能一个参数带params关键字:·带params关键字的参数必 ...
- 7.FPGA中的同步复位与异步复位
1.异步复位 always @ ( posedge sclk or negedge s_rst_n ) if ( !s_rst_n ) d_out <= 1'b0; else d_out < ...
- easyui中jquery重复引用问题(tab内存泄露问题)
今天认真测试了下easyui的一些兼容性问题,发现在ie9 ie10 首次加载的时候,会出现如下bug.如图所示: 认真看了下,我估计是脚本重复引用的问题,我用的iframe框架的模式.登陆系统后,桌 ...
- -25299 reason: 'Couldn't add the Keychain Item.'
今天在用苹果官方demo 提供的KeychainItemWrapper类时遇到-25299 reason: 'Couldn't add the Keychain Item.'错误,再4s上可以正常运 ...