原文: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)
)
<!--[if
lte IE 6]>
这段文字仅显示在 IE6及IE6以下版本。
This message will only appear in
versions of Internet Explorer less than or equal to version
6.
<![endif]-->
<!--[if gte IE 6]>
这段文字仅显示在
IE6及IE6以上版本。
This message will only appear in versions of Internet Explorer
greater than or equal to version 6.
<![endif]-->
<!--[if gt IE
6]>
这段文字仅显示在 IE6以上版本(不包含IE6)。
This message will only appear in versions
of Internet Explorer greater than version 6.
<![endif]-->
<!--[if
IE 5.5]>
这段文字仅显示在 IE5.5。
This message will only appear in Internet
Explorer 5.5.
<![endif]-->
<!--在
IE6及IE6以下版本中加载css-->
<!--[if lte IE
6]>
[*]
<![endif]-->
使用条件注释加载css的好处是这些样式是独立于其他css文件的,因此不会在编写兼容代码时弄得一团糟;而且当IE6的市场份额降低到不需要兼容时,可以快速的清理掉。
使用条件注释的唯一缺点是在IE浏览器下会增加额外的HTTP请求数,所以需要权衡是否这样做。但我不建议使用条件注释加载外部js文件,因为js文件会造成阻滞,在js未加载完之前其余文件都不会被加载;对于js请使用JavaScript程序来区分浏览器而非条件注释。
使用CSS选择器区分开IE6
如果你不打算使用条件注释,CSS选择器是另外一个区分开IE6的办法,IE6不支持子选择器;先针对IE6使用常规申明CSS选择器,然后再用子选择器针对IE7+及其他浏览器。
示例:
<style type="text/css" >
/* IE6 专用
*/
.content {color:red;}
/* 其他浏览器 */
div>p .content
{color:blue;}
</style>
<div>
<p class="header">Some
Header Text Here
</div>
这个方法的缺点是容易把样式表弄得一团糟,所以一定要写好注释说明。
在示例中,针对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');
}
扩展阅读:
经典论坛交流
:
http://bbs.blueidea.com/thread-2965546-1-1.html
分享到:
相关推荐
健康驾驶备忘录——改、纠、调、检.docx
第九章 备忘录—— 文件操作第一节:文件的打开与关闭第二节:文件的读取与写入第三节:文件的定位第四节:文件的格式一个软件由若干程序和文档组合而成,而绝大多数的软
树莓派自驾仪的开发备忘录——(GPS)UBLOX NEO-M8N UBX格式数据驱动初实现的附件内容 https://blog.csdn.net/tsuibeyond/article/details/94991225
微信小程序——备忘录(截图+源码).zip 微信小程序——备忘录(截图+源码).zip 微信小程序——备忘录(截图+源码).zip 微信小程序——备忘录(截图+源码).zip 微信小程序——备忘录(截图+源码).zip 微信小程序...
1昆虫备忘录——学习ppt课件
上机备忘录.doc————电子版_doc版
5昆虫备忘录——小学生ppt学习课件
微信小程序项目实例——备忘录 项目是一个备忘录,拥有记录文字、计时和提醒的基本功能 项目只有一个页面,整体简约便捷
Android源码——备忘录源码.zip
微信小程序——[小工具类]备忘录(截图+源码).zip 微信小程序——[小工具类]备忘录(截图+源码).zip 微信小程序——[小工具类]备忘录(截图+源码).zip 微信小程序——[小工具类]备忘录(截图+源码).zip 微信小...
安全备忘单翻译项目 _
Android源码——备忘录源码.7z
C语言程序设计——备忘录.txt
全面的Python备忘单:Contents 1. Collections: List, Dictionary, Set, Tuple, Range, Enumerate, Iterator, Generator. 2. Types: Type, String, Regular_Exp, Format, Numbers, Combinatorics, Datetime.3. ...
第18章 备忘单(CheatSheet),swt,eclipse插件开发学习笔记 第18章 备忘单(CheatSheet),swt,eclipse插件开发学习笔记 第18章 备忘单(CheatSheet),swt,eclipse插件开发学习笔记 第18章 备忘单(CheatSheet...
也有用心去做,因为是初学C#,用到的好多技术都是边百度边写的,所以用来学习也是不错的。 可以添加备忘和查看已有备忘,在设好的时间可以弹窗提示。