Conditional comments of IE
Conditional Comments (CC) is basically a new set of
comment-like tags that IE 5+ supports. These tags look very much like the
good old comment tag- and in fact are treated as such by all browsers except
IE, in which they operate a little more intelligently. Using CC, you can
selectively "comment out" any portion of your page in a way that
only IE interprets the containing content, or the other way
around, so all browsers except IE 5+ gets to open up the
Pandora box. Here are the basic two new tags of IE that make this
possible:
#1:
<!--[if IE]>
You are using IE (IE5+ and above).
<![endif]-->
#2:
<![if !IE]>
You are NOT using IE.
<![endif]>
Take a long and hard look at the above tags, and you should
discern the ingenuity behind them. To display content that will only be
rendered and seen by IE 5+ browsers, wrap the content using CC tag #1. To
have content displayed to all browsers but IE 5+, use CC tag #2 instead.
Detecting IE5.5 and IE6
It is possible for your conditional comment to serve HTML
code to only a certain version of IE, such as IE5.5 or IE6. Here is
an example of each:
<!--[if IE 5.5000]>
You are using IE 5.5!
<![endif]-->
<!--[if IE 6]>
You are using IE 6!
<![endif]-->
Notice how we input the version 5.5- as 5.5000. This four
digit definition is called version vector, and is required whenever the
version to detect is a subset of an integer.
Taking your detection further
Operators is what CC relies on to determine it course of
action. We saw above how one operator, "!", is used to negate the browser
version to detect. In fact CC supports a handful of other operators, which
we shall list and then explain:
Operators supported by CC
| Operator syntax |
Description |
! |
The "not" operator. |
lt |
The "less than" operator. |
lte |
The "less than or equal to" operator. |
gt |
The "greater than" operator. |
gte |
The "greater than or equal to"
operator |
With the above operators more generic detection of
browsers such as IE6+ (which encompasses IE6, IE6.1, IE7, and so on)
becomes possible. For example:
<!--[if gte IE 6]>
You are using IE 6+
<![endif]-->
|