当前位置: 首页 > 图文教程 > 网页制作 > HTML/XHTML教程 > 网页制作教程:单独对IE6进行兼容

HTML/XHTML教程
HTML表单标记教程(1):
XHTML入门学习教程:表单标签
XHTML入门学习教程:框架标签使用
XHTML:框架结构标签
HTML5 与 XHTML2
兼容性的 inline-block 属性
关于XHTML的H1标记的位置
HTML5 语义化结构化规范化
改进网站设计提供的有意的建议
HTML5的结构和语义(5):交互
HTML5的结构和语义(5):内嵌媒体
HTML5中语义化 b 和 i 标签
网页教案,针对初学者的教案
HTML5的结构和语义(4):语义性的内联元素
HTML5的结构和语义(2):结构
通过优化网页页面降低对内存及CPU的占用
XHTML 2.0新功能抢先预览
HTML5的结构和语义(1):前言
XHTML标签都有一个结束标记
面向XHTML的IE条件注释

HTML/XHTML教程 中的 网页制作教程:单独对IE6进行兼容


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-30   浏览: 93 ::
收藏到网摘: n/a

原文:Ultimate IE6 Cheatsheet: How To Fix 25+ Internet Explorer 6 Bugs
翻译:http://www.vfresh.org/w3c/727(译文对原文进行了补充)

兼容IE6的第一步就是单独对IE进行兼容,你针对IE6所写的代码只影响IE6;有几种方法可以区分开IE6:IE特有条件注释、CSS选择器、JavaScript,我们将逐一讨论。

使用IE特有条件注释

微软给IE添加了条件注释以区分不同版本,任何东西都可以塞进条件注释里:标签、JavaScript、js文件、css、内联样式。可以使用条件注释来针对某一个IE浏览器版本来编写代码。

规则如下:(译注:可参考IE 特有注释(hack)

运行代码框

[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

使用条件注释加载css的好处是这些样式是独立于其他css文件的,因此不会在编写兼容代码时弄得一团糟;而且当IE6的市场份额降低到不需要兼容时,可以快速的清理掉。

使用条件注释的唯一缺点是在IE浏览器下会增加额外的HTTP请求数,所以需要权衡是否这样做。但我不建议使用条件注释加载外部js文件,因为js文件会造成阻滞,在js未加载完之前其余文件都不会被加载;对于js请使用JavaScript程序来区分浏览器而非条件注释。

使用CSS选择器区分开IE6

如果你不打算使用条件注释,CSS选择器是另外一个区分开IE6的办法,IE6不支持子选择器;先针对IE6使用常规申明CSS选择器,然后再用子选择器针对IE7+及其他浏览器。

示例:

运行代码框

[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

这个方法的缺点是容易把样式表弄得一团糟,所以一定要写好注释说明。
在示例中,针对IE6写的样式在其他浏览器中也会执行,但(标准浏览器中)之后的子选择器覆盖了之前的申明,而IE6不支持子选择器所以忽略了它。

扩展阅读:

使用JavaScript区分开IE6

如果你想要使用JavaScript区分开IE6,请看示例:

//原生JavaScript
if(typeof document.body.style.maxHeight === "undefined") {
    alert('IE6 Detected');
}
//MooTools(框架)
if (Browser.Engine.trident4) {
    alert('IE6 Detected');
}
//jQuery(框架)
if (($.browser.msie) && ($.browser.version == "6.0")){
    alert('IE6 Detected');
}

扩展阅读: