ie6 bug & 解决技巧

精贴 置顶
4216 0

最近有时间折腾wordpress 发现自己在css方面有很大的欠缺,很多问题都不能够自己解决,基本上大部分时间都是去google上寻找答案,可是找到的答案要么不够具体,就是缺少实 例,让人大伤脑筋。所以为了方便以后自己查找,不管自己以前有没有遇到过,都把它们收藏起来,方便以后查找。下面是从网络上搜索到的bug以及解决方法:


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+及其他浏览器。

/* IE6 专用 */

.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.getElementById(‘container’);
container.style.height = (container.scrollHeight > 199) ? “200px” : “auto”;

//写成函数来运行
function setMaxHeight(elementId, height){
var container = document.getElementById(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.getElementById(‘container’);
container.style.width = (container.clientWidth < width) ? “500px” : “auto”;

//写成函数来运行
function setMinWidth(elementId, width){
var container = document.getElementById(elementId);
container.style.width = (container.clientWidth < width) ? width + “px” : “auto”;
}

//函数示例
setMinWidth(‘container1′, 200);
setMinWidth(‘container2′, 500);

10、最大宽度

//直接使用ID来改变元素的最大宽度
var container = document.getElementById(elementId);
container.style.width = (container.clientWidth > (width – 1)) ? width + “px” : “auto”;

//写成函数来运行
function setMaxWidth(elementId, width)

  • 没有任何评论
今日天气 ···

···

···

···

热门排行
CSS cursor鼠标样式一览表 2012/6/25
.NET后台写JS代码 2011/11/3
网站地址多出jdfwkey的问题解析及... 2010/8/25
百度、google、Yahoo网站地图制作... 2011/1/30
数据库xxx的日志已满,请备份该数... 2013/7/19
<a>标签的伪类书写顺序问题... 2010/9/4
CEO名言 2010/8/31
什么是长尾关键词? 2010/9/24
Mysql 主从数据库同步 2010/9/12
用ASP实现网页BBS 2010/11/1
博主推荐
网站title标题如何正确修改不会被... 2013/8/26
ASP .NET MYSQL 的简单分页 并不... 2013/8/19
网站有弹窗广告这样的站点,百度... 2013/8/17
做淘宝SEO优化需要注意的8大问题 2013/8/17
淘宝网怎么做SEO优化 2013/8/17
站长们要学习的“苍井空精神” 2013/8/17
苹果公司今日发布了iOS 7第五个开... 2013/8/7
小米1刷V5系统WIFI不能连接解决办... 2013/8/1
本博客手机版上线咯!会员后台也... 2013/7/31
Win7系统环境安装配置PHP开发环境... 2013/7/29
随便看看
.NET中进行Base64加密解密 2013/6/1
Access注入语句大全 2010/12/7
点后退按钮显示"网页已经过期" 2013/9/6
cpu和内存的关系?关于cpu的寄存器... 2010/11/11
查看服务器Application/Session变... 2010/10/26
让你电脑C盘快起来,揪出占据硬盘... 2010/9/7
.net访问Mysql一些细节问题 2013/8/19
你会接受扁平化设计吗? 2013/8/17
用ASP实现网上“五子棋”大赛 2010/11/2
一个字符串"234.157.698.0" 要求... 2010/11/29
北京 上海 杭州 深圳 广州 成都