salmobytes wrote:
Quote:
Does anybody know of a good online explanation of the browser
differences, so I could someday understand how and why IE6,
IE7 and Firefox/Safari are so far apart?....and so I could write
code with a plan, rather than stabbing by trial and error? |
Read the CSS spec, and you will find that it is far from easy to
implement. The original CSS 2 spec was underdocumented, and, though CSS
2.1 does a much better job, it still takes several reads to actually
understand everything thoroughly.
Add into account that HTML is mostly left specified up to the user
agent, and sufficiently underspecified element tags can have variable
renderings.
All browsers can be reduced into a few categories: legacy browsers
(IE5.5-, NN6- (?)) whose support for CSS is very low; IE6/7, where CSS
is given short shrift; and the mostly-compliant browsers (FF, Safari,
Opera, KHTML, and even more).[*]
Of the last group, each browser has specific areas where their CSS
support comes out top. Opera, AFAIK, is the only browser with a
semblance of Aural stylesheet support. Firefox is compliant (?) with the
current CSS 3 Columns WD. In general, the three browsers should be
mostly similar in terms of CSS support, especially at the level that
most developers are going to be working with.
IE6 and IE7 are plagued with nagging security problems that for some
reason seem to trump CSS concerns. IE 6's grave error is that it is the
only major browser with a relatively ancient release. IE 7 has more
support for CSS (MS's CSS team is actually highly cooperative in the CSS
WG), but it is limited in that CSS is not exactly top in the list for
allocating resources.
Legacy browsers -- especially IE 5.5 -- should probably not be
considered when working on CSS. Their usage levels are so pitiful, and
they are so obsolete, such that the required effort to get them working
is not sufficiently beneficial.
As for a plan, first ensure that you have an HTML 4.01 doctype
(transitional or strict, it doesn't matter all that much). Then, try
developing for FF, Opera, or Safari, whichever is your most-used
browser. After that is working, then try to figure out how well IE6 and
IE7 support it and try to accommodate them.
Note that many people also take great umbrage with conditional comments,
for various reasons. The only alternative is CSS hacks, which I do not
find particularly appealing either. My preferred method is to just find
a balance that works well in FF/Opera/Safari/etc. and degrades
gracefully for IE6/IE7.
[*] Well, there are also stuff like text browsers, but that is a whole
other can of worms in itself, so I won't go there unless you
specifically request it.
--
Beware of bugs in the above code; I have only proved it correct, not
tried it. -- Donald E. Knuth