条件注释使用指南[译]

作者:vocal 来源:前端观察 时间:2009-03-23 17:41:00 

或许你知道,Internet Explorer 6 已经不是最先进的浏览器了。事实上,它已经八岁了,但是很多人还在使用这个不安全的浏览器。正因为如此,网页设计师不得不额外担心他们的网站在IE6下的表现。

在CSS 框架和模板出现以后,一些布局的问题可以很容易解决掉,但是显然这不能解决全部问题。这些问题通常可以通过普通的CSS来解决,但是有时候只针对IE显示一些(样式)信息可能会更好。

这是用条件注释是可以实现的。条件注释只支持Windows系统中的IE浏览器。通过这些技巧,我们可以为基于Windows的IE5、6、7、8添加一些特殊的行为。这样做的好处是,HTML和CSS代码可以通过验证。

条件注释的格式

所有可用的条件注释标签是基于相同的原理的。这些条件注释可用于所有的IE浏览器版本。

<!--[if IE]>
如果用户使用IE浏览器,这里的信息会生效。
<![endif]-->

根据情况不同,你需要添加一个浏览器版本号。比如,或许你想让IE5.5使用一个不同的样式表:

 <!--[if IE 5.5]>
 <link rel="stylesheet" href="css/ie5.css" type="text/css" media="screen, projection" />
<![endif]-->

或者只针对IE7:

 <!--[if IE 7]>
 <link rel="stylesheet" href="css/ie.css" type="text/css" media="screen, projection" />
<![endif]-->

你已经掌握了要领了,是吧?

我们还能用条件注释做什么?

微软同样为这些条件注释添加了一些参数。比如,我们可以使用高于或等于某个版本、低于或等于某个版本。添加这些的确很方便。

比如说,我们要给IE7以及以下的浏览器添加一个不同的样式表,我们可以这样做:

 <!--[if lte IE 7]>
 <link rel="stylesheet" href="css/ie.css" type="text/css" media="screen, projection" />
<![endif]-->

或者我们想为IE6以上的浏览器创建一个不同的样式表:

 <!--[if gte IE 6]>
 <link rel="stylesheet" href="css/ie.css" type="text/css" media="screen, projection" />
<![endif]-->

我们可以在我们的条件注释中使用以下参数:

  • lte - 低于或等于

  • lt - 低于

  • gte - 高于或等于

  • gt - 高于

  • (IE6)|(IE7) - Internet Explorer 6或 Internet Explorer 7

  • (IE6)&(IE7) - Internet Explorer 6 和 Internet Explorer 7

  • 点击这里查看更多参数

使用条件注释让用户升级他们的过时的浏览器

我通常不使用条件注释来修正浏览器bug。我使用他们的方法是告诉人们,他们使用的是一个过时的浏览器。在此类信息里面,我告诉他们,为了安全和更多功能,他们应该升级他们的浏览器。

 <!--[if lt IE 7]>
<p class="error">警告!您正在使用一款过时的浏览器。这个版本的浏览器功能比较简单而且不够<strong>安全</strong>。请升级您的浏览器到<a href="http://getfirefox.org/" href="http://getfirefox.org/">下载FireFox</a> 或 <a href="Internet'>http://www.microsoft.com/downloads/en/default.aspx">
Internet Explorer 7+.</p>
<![endif]-->

通过这种方法,在用户看到这条消息的时候,你可以告诉用户,他们不应该使用这个版本的浏览器,然后他们就可能升级到一个更先进的浏览器。

正如你看到的这样,你可以在你的网站中使用这些条件注释的好处。

前几天前端观察发表了一系列的 条件CSS 的用法,那些用法是基于这个条件注释的扩展用法。当然这种条件注释的用法比较简单方便,但是 使用条件css 可以实现更高级的功能。请注意,本文所讲的条件注释可以直接在HTML代码中使用,而条件CSS需要配合程序实现。——神飞

译自:http://www.divitodesign.com

标签:浏览器,IE浏览器,指南,条件注释
0
投稿

猜你喜欢

  • DHTML实例解析:用HTC统一定制表单样式

    2007-11-04 18:48:00
  • 手把手教你如何安装Pycharm(详细图文教程)

    2023-10-31 06:57:00
  • 用python画个敬业福字代码

    2022-04-04 18:36:59
  • python实现音乐播放和下载小程序功能

    2023-07-03 17:59:03
  • python实现超简单端口转发的方法

    2022-12-25 04:00:53
  • Python tornado上传文件的功能

    2022-06-01 19:33:37
  • 详解Golang中Channel的用法

    2024-05-08 10:13:32
  • 妙用dw图层与表格进行网页布局

    2009-07-14 21:57:00
  • Python中遇到的小问题及解决方法汇总

    2023-10-14 04:58:35
  • 详解一条sql语句在mysql中是如何执行的

    2024-01-18 00:51:12
  • 详解python UDP 编程

    2023-06-11 22:31:44
  • python绘制折线图和条形图的方法

    2023-05-06 11:28:24
  • django views重定向到带参数的url

    2023-08-18 14:56:47
  • Oracle 管道 解决Exp/Imp大量数据处理问题

    2009-07-12 18:31:00
  • MySQL产生死锁原因分析讲解

    2024-01-25 10:39:19
  • 使用watch监听对象里面值的变化

    2024-06-07 15:22:10
  • perl文件包含(do,require,use)指令介绍

    2023-05-29 04:33:08
  • Linux中安装Python的交互式解释器IPython的教程

    2023-09-14 05:50:06
  • Python中flask框架跨域问题的解决方法

    2023-10-23 11:10:52
  • Python实现21点小游戏的示例代码

    2022-06-14 06:32:10
  • asp之家 网络编程 m.aspxhome.com