IE6的BUG大全
ie6吧
全部回复
仅看楼主
level 1
桑半垒0Gt 楼主
今天历数一下IE6的bug给小白们看一下,省得很多人什么都不懂还总以为自己很高明、IE很高明。以后将在发帖揭示所有IE版本的bug。
(如果有人不懂bug何意……?那也别来问我了)
IE6 bug到底令我们前端开发头痛我就不多说了,说实话,很多东西我一直在回避IE6的BUG,比如不用半透明的PNG。。。
但是毕竟IE6还将长期存在,而且IE6在中国比例目前还绝对多数,所以我们无法回避。逃无可逃,退无可退!
2011年01月26日 06点01分 1
level 1
桑半垒0Gt 楼主
摘自“愚人码头”个人主页:
整理收集《【IE6的疯狂系列】IE6 bug大全》仅供参考。
【IE6的疯狂之一】IE6中奇数宽高的BUG:http://www.css88.com/archives/1725
【IE6的疯狂之二】IE6中PNG Alpha透明:http://www.css88.com/archives/577
【IE6的疯狂之三】IE6 3像素BUG的实例:http://www.css88.com/archives/117
【IE6的疯狂之四】IE6文字溢出BUG:http://www.css88.com/archives/253
【IE6的疯狂之五】div遮盖select的解决方案:http://www.css88.com/archives/545
【IE6的疯狂之六】li在IE中底部3像素的BUG(增加浮动解决问题):http://www.css88.com/archives/421
【IE6的疯狂之七】样式中文注释后引发失效:http://www.css88.com/archives/726
【IE6的疯狂之八】链接伪类(:hover)CSS背景图片有闪动BUG:http://www.css88.com/archives/744
【IE6的疯狂之九】li在IE中底部空行的BUG:http://www.css88.com/archives/1111
【IE6的疯狂之十】父级使用padding后,子元素绝对定位的BUGhttp://www.css88.com/archives/1584
【IE6的疯狂之十一】!important在IE6下的一个BUG:http://www.css88.com/archives/1716
【IE6的疯狂之十二】一个display:none引起的3像素的BUG:http://www.css88.com/archives/1797
【IE6的疯狂之十三】IE6下使用滤镜后链接不能点击的BUG:http://www.css88.com/archives/2916

2011年01月26日 06点01分 2
level 1
桑半垒0Gt 楼主
这是另一篇精彩博文http://blog.sina.com.cn/s/blog_4bf789e40100nhhz.html
1. 强制浏览器是用Web标准解析
HTML的写法
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN”
http://www.w3.org/TR/html4/strict.dtd”>
或者XHTML的写法
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN”
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>
2、CSS选择器区分
IE6不支持子选择器;先针对IE6使用常规申明CSS选择器,然后再用子选择器针对IE7+及其他浏览器。
.content {color:red;}
div>p .content {color:blue;} –>
3、PNG半透明图片的问题
虽然可以通过JS等方式解决,但依然存在载入速度等问题,所以,这个在设计上能避免还是尽量避免为好。以达到网站最大优化。
4、IE6下的圆角
IE6不支持CSS3的圆角属性,性价比最高的解决方法就是用图片圆角来替代,或者放弃IE6的圆角。
5、IE6背景闪烁
如果你给链接、按钮用CSS sprites作为背景,你可能会发现在IE6下会有背景图闪烁的现象。造成这个的原因是由于IE6没有将背景图缓存,每次触发hover的时候都会重新加载,可以用JavaScript设置IE6缓存这些图片:
document.execCommand(“BackgroundImageCache”,false,true);
6、最小高度
IE6 不支持min-height属性,但它却认为height就是最小高度。解决方法:使用ie6不支持但其余浏览器支持的属性!important。
#container {min-height:200px; height:auto !important; height:200px;}
7、最大高度
//直接使用ID来改变元素的最大高度
var container = document.getElementByIdx_x(‘container’);
container.style.height = (container.scrollHeight > 199) ? “200px” : “auto”;
//写成函数来运行
function setMaxHeight(elementId, height){
var container = document.getElementByIdx_x(elementId);
container.style.height = (container.scrollHeight > (height – 1)) ? height + “px” : “auto”;
}
//函数示例
setMaxHeight(‘container1′, 200);
setMaxHeight(‘container2′, 500);
8、100% 高度
在IE6下,如果要给元素定义100%高度,必须要明确定义它的父级元素的高度,如果你需要给元素定义满屏的高度,就得先给html和body定义 height:100%;。
9、最小宽度
同max-height和max-width一样,IE6也不支持min-width。
//直接使用ID来改变元素的最小宽度
var container = document.getElementByIdx_x(‘container’);
container.style.width = (container.clientWidth < width) ? “500px” : “auto”;
//写成函数来运行
function setMinWidth(elementId, width){
var container = document.getElementByIdx_x(elementId);
container.style.width = (container.clientWidth < width) ? width + “px” : “auto”;
}
//函数示例
setMinWidth(‘container1′, 200);
setMinWidth(‘container2′, 500);
10、最大宽度
//直接使用ID来改变元素的最大宽度
var container = document.getElementByIdx_x(elementId);
container.style.width = (container.clientWidth > (width – 1)) ? width + “px” : “auto”;
//写成函数来运行
function setMaxWidth(elementId, width){
var container = document.getElementByIdx_x(elementId);

2011年01月26日 06点01分 3
1