`
Pweb
  • 浏览: 55258 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

IE6终极备忘单——对IE6单独兼容

阅读更多

原文: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

分享到:
评论

相关推荐

    附件:树莓派自驾仪的开发备忘录——(GPS)UBLOX NEO-M8N UBX格式数据驱动初实现

    树莓派自驾仪的开发备忘录——(GPS)UBLOX NEO-M8N UBX格式数据驱动初实现的附件内容 https://blog.csdn.net/tsuibeyond/article/details/94991225

    健康驾驶备忘录——改、纠、调、检.docx

    【健康驾驶备忘录——改、纠、调、检】主要关注的是驾驶人员的健康问题,特别是对于长期驾车的职业驾驶员,这些保健措施显得尤为重要。在技术安全的角度看,良好的驾驶状态直接影响到行车安全,因此,改善驾驶环境和...

    第9章 备忘录——文件操作1

    n 不仅会检查文件是否存在,如果文件存在,它会清空原有内容,如果文件不存在,则创建新文件。w 模式下,写入的数据会覆盖原有文件内容;w+模式下,既可以读取文件,也可以写入数据,但写入前会清空文件。...

    微信小程序——备忘录(截图+源码).zip

    微信小程序——备忘录(截图+源码).zip 微信小程序——备忘录(截图+源码).zip 微信小程序——备忘录(截图+源码).zip 微信小程序——备忘录(截图+源码).zip 微信小程序——备忘录(截图+源码).zip 微信小程序...

    1昆虫备忘录——学习ppt课件

    1昆虫备忘录——学习ppt课件

    上机备忘录.doc————电子版_doc版

    上机备忘录.doc————电子版_doc版

    微信小程序项目实例——备忘录

    总结,这个“微信小程序项目实例——备忘录”涵盖了微信小程序的基础开发、前端设计、数据管理、用户交互等多个方面的知识点,为学习微信小程序开发提供了实用的示例。通过实践这样的项目,开发者可以深入理解微信小...

    2昆虫备忘录——学生学习课件

    2昆虫备忘录——学生学习课件

    5昆虫备忘录——小学生ppt学习课件

    5昆虫备忘录——小学生ppt学习课件

    Android源码——备忘录源码.zip

    这份“Android源码——备忘录源码.zip”压缩包很可能包含了一个完整的备忘录应用的源代码,对于学习Android开发,特别是对UI设计、数据存储和事件处理感兴趣的开发者来说,是一个宝贵的资源。下面我们将详细探讨这个...

    tomcat6 单独启动做测试服务器备忘

    标题“Tomcat6单独启动做测试服务器备忘”涉及到的是如何使用Apache Tomcat 6作为独立的测试服务器。Apache Tomcat是一款开源的Java Servlet容器,主要用于运行Java Web应用程序,包括JSP和Servlet。这个备忘可能...

    微信小程序——[小工具类]备忘录(截图+源码).zip

    微信小程序——[小工具类]备忘录(截图+源码).zip 微信小程序——[小工具类]备忘录(截图+源码).zip 微信小程序——[小工具类]备忘录(截图+源码).zip 微信小程序——[小工具类]备忘录(截图+源码).zip 微信小...

    安全备忘单翻译项目 _

    安全备忘单翻译项目 _

    在 Eclipse 中构建备忘单

    6. **实现备忘单动作**: - 对于需要与Eclipse交互的动作,定义相应的处理逻辑。 - 例如,在创建Java项目时自动配置特定的构建路径。 #### 四、备忘单的实际应用案例 以创建Java API为例,设计一个备忘单来指导...

    android 应用 源代码——备忘录

    通过学习和分析这套备忘录应用的源代码,开发者可以深入理解Android应用开发的基本流程,包括UI设计、数据库操作、数据共享、提醒服务等多个方面,对提升个人技能大有裨益。同时,也可以根据需求进行二次开发,添加...

    C# 备忘录(源码)——烽火系列

    【C# 备忘录(源码)——烽火系列】是一个C#编程语言开发的应用程序,主要用于创建、查看和管理个人备忘录。这款应用的设计思路非常适合初学者,因为它结合了实际项目开发与在线学习的过程。开发者在编写代码的过程...

    s2sh框架实例——个人备忘录系统源码

    【标题】"s2sh框架实例——个人备忘录系统源码" 提供了一个学习和研究Web开发的宝贵资源,特别适合对Java Web技术感兴趣的初学者。S2SH是Struts2、Spring和Hibernate三个开源框架的组合,是Java领域广泛应用的MVC...

    Android源码——备忘录源码.7z

    通过分析"Android源码——备忘录源码.7z"这个压缩包,我们可以深入理解Android开发中的重要概念。 首先,源码中的"源码说明.txt"可能包含关于项目背景、功能介绍和实现方法的概述,它是理解整个项目的关键。在...

Global site tag (gtag.js) - Google Analytics