Conditional comments displayed on page

  • Thread starter Thread starter Chris Beall
  • Start date Start date
C

Chris Beall

URL: http://ulsterliteracy.org/sandbox/

Conditional comments are used to expose unique HTML for IE 7 and below.
As expected, non-IE browsers correctly ignore the conditional comments.
IE6, IE7, and IE8 all DISPLAY the conditional comments on the page (and
also all select the code bracketed by [if IE lte 7]).

I've looked at this over and over and can't see what is wrong.

I need another pair of eyes to look at the source and tell me where I've
gone wrong. My reference for the coding was
http://msdn.microsoft.com/en-us/library/ms537512(VS.85).aspx

Chris Beall
 
Um, yes I do see it. 8 errors, one for each conditional statement.
Actually I saw it before posting here. The validator doesn't like the
conditional comment syntax. I can't fix that.

But looking at it again (after a good dinner), I notice that the correct
syntax is:
<![if gt IE 7]>
whereas I consistently tried to make it a comparison between IE and the
version number:
<![if IE gt 7]>
which is wrong. Apparently when IE hits this, it detects the bad syntax
and, unable to act upon the condition, displays it instead.

So I fixed that and now it works fine.

Oh, and still gets 8 validation errors...

Cheers,
Chris Beall
See
http://validator.w3.org/check?uri=h...(detect+automatically)&doctype=Inline&group=0


Chris said:
URL: http://ulsterliteracy.org/sandbox/

Conditional comments are used to expose unique HTML for IE 7 and below.
As expected, non-IE browsers correctly ignore the conditional comments.
IE6, IE7, and IE8 all DISPLAY the conditional comments on the page (and
also all select the code bracketed by [if IE lte 7]).

I've looked at this over and over and can't see what is wrong.

I need another pair of eyes to look at the source and tell me where I've
gone wrong. My reference for the coding was
http://msdn.microsoft.com/en-us/library/ms537512(VS.85).aspx

Chris Beall
 
Hi Chris,

Change this

<!--[if gt IE 7]><!-->
<div class="header">
<div class="logo">
<!--<![endif]-->
to
<!--[if gt IE 7]>
<div class="header">
<div class="logo">
<![endif]-->


Comment: The IE Conditional comments don't like nested comment tags. Usually
you use conditional comments in the head section to call in a different
stylesheet.
 
The bracketed code is intended for IE8 (and above) and all non-IE
browsers. If I did what you suggest, non-IE browsers would see the
whole thing as a comment.

The syntax I used validates and seems to work everywhere I've tested.

Again, the original problem was the syntax WITHIN the CC; I had 'if IE
gt 7'.

Chris Beall

rob^_^ said:
Hi Chris,

Change this

<!--[if gt IE 7]><!-->
<div class="header">
<div class="logo">
<!--<![endif]-->
to
<!--[if gt IE 7]>
<div class="header">
<div class="logo">
<![endif]-->


Comment: The IE Conditional comments don't like nested comment tags.
Usually you use conditional comments in the head section to call in a
different stylesheet.



Chris Beall said:
URL: http://ulsterliteracy.org/sandbox/

Conditional comments are used to expose unique HTML for IE 7 and below.
As expected, non-IE browsers correctly ignore the conditional comments.
IE6, IE7, and IE8 all DISPLAY the conditional comments on the page
(and also all select the code bracketed by [if IE lte 7]).

I've looked at this over and over and can't see what is wrong.

I need another pair of eyes to look at the source and tell me where
I've gone wrong. My reference for the coding was
http://msdn.microsoft.com/en-us/library/ms537512(VS.85).aspx

Chris Beall
 
Back
Top