On Fri, 26 Aug 2005, Jim Moe wrote:
Alan J. Flavell wrote: You must dumb down your CSS to match IE.
I can't agree. If you design for graceful fallback, you can get
even better results on WWW-conforming browsers, while still
getting more than adequate results on that lesser browser, as well
as on a wide range of other browsing situations.
Okay, my own limitations are showing then.
I don't see any reason for you to be so modest! I reckon I have
learned from things that you have posted.
MSIE has the facility, unique AFAIK amongst browsers, of implementing
a switch that is harmless to web-compatible browsers: the so-called
"conditional comment" in the HTML. So, *theoretically and in the
final analysis*, if someone wants to fully exploit CSS in
web-compatible browsers, while nevertheless getting the best out of
MSIE, they could use these conditional comments to present quite
different CSS to the two classes of browser - by separating the CSS
into individual stylesheets and using these "conditional comments" in
the HTML to switch.
In practice, I'd say, it's hardly ever necessary to really go *that*
far. I'm using the theoretically extreme case purely as a
"gedankenexperiment" to demonstrate that the earlier claims "You
cannot have IE compatibility and use non-IE features" and "You must
dumb down your CSS to match IE" are over-stating the case.
*Usually*, IE will ignore CSS things that it doesn't understand. But
if necessary there are techniques (particularly, this MSIE conditional
comment) to modify what IE gets to see, relative to other browsers.
Nevertheless, the OP's CSS is so over IE's head that IE does not
even bother to display some of the content;
I fully agree with you that such a consequence is serious!
not a graceful fallback. The OP will have to start stripping out
features until he finds which parts IE stumbles over.
My comments to which you were following-up were meant to be comments
on matters of principle, rather than anything directly addressed to
the original web page which started this thread. If that hadn't been
clear from the way I posted them, then please accept my apology.
At this point in time, when I visit the original poster's cited URL, I
find an XHTML/1.0 document which fails XHTML validation, and the CSS
checker refuses to look at it for the same cause: so I'm not motivated
to look much further. I'm a firm believer that it's discourteous to
offer anything for general discussion here before such computer-
reportable errors have been ironed out (unless the poster needs
specific help with the errors reported by the validator or checker).
http://validator.w3.org/check?verbos...l/boilerplate/ http://jigsaw.w3.org/css-validator/v...l/boilerplate/
However, I do notice that the XHTML document begins with
<?xml version="1.0" encoding="iso-8859-1"?>
which, as we know, will throw IE into its "quirks" mode. I wouldn't
want to spend any effort on that mysef: I'd want at least to aim for
standards mode. There's a number of ways of achieving that, starting
from what's there now, but ideally the first option would be best
IMHO:
* find out how to get the server to put the iso-8859-1 on the real
HTTP Content-type header, instead of having to supply it on the <?xml
thingy. Ah! the server is Apache, so that's easy (assuming that the
O.P is enabled for using the .htaccess file).
* recode the page in utf-8, and let XML-based agents default to utf-8:
omit the <?xml thingy; HTML-based agents would be content with the
"meta http-equiv" way of setting charset=utf-8.
* some other fiddly options that I'm too lazy to describe in detail.
I'm not saying that these changes will be, in themseves, an answer to
reported difficulties, but I'd want to make them before starting on
anything more-detailed, since I rate it as wasted effort to mess with
IE in its quirks mode nowadays.
cheers