Nicolai P. Zwar said:
Now here's the rub: the page has to function and look fairly
decent in Netscape 4x browsers, too.
Without seeing the designs you have to transform into HTML it's
difficult to give specific advice.
NN4 is quite capable of getting the CSS used for font formatting
correct so there's no need to resort to <font> tags. The one area
where NN4 screws up the font formatting is with (nested) tables - you
typically need to assign a class to every <td>.
NN4 tend to add margins to the defaults, so if you're setting <p>
elemsnts to have a smaller than normal margin in NN4 they will end up
with a larger one. Hide the margin CSS from NN4.
NN4 and borders is a long story. If you add borders and background
colour then NN4 will include a gap between the two. Unless you
absolutely position the element in which case you can use the NN4 only
layer-background-color property to fill the gap.
Setting borders on less than all four sides is tricky. I've had best
results by setting
border-style: solid; border-color: black; border-top-width: 2px;
border-left-width:0; border-right-width: 0; border-bottom-width: 0;
instead of the shorter border-top: 2px solid black; that we would use
in other browsers.
Background images are only partially supported and unless it's a
simple repeating background are best avoided (and let's not forget
that NN4 also screws up HTML background images on tables).
If you set a background colour then be sure to set a border (even if
it's border: none
to make the colour fill the whole element and not
just the area behind the text.
Don't ever try to style form elements in NN4. Even if it doesn't make
the form unusable (I've seen <select> elements rendered as plain text)
then it's likely to draw random boxes on the screen.
Changing the nature of lists (i.e. to make a horizontal nav bar) or
even just changing the amount of indent a list has is also likely to
cause problems. If the design allows the nav to degrade to an ordinary
bulleted list just use a <ul> and hide the styles. Otherwise you'll
have to bite the bullet and use a table or a set of <br>s to make your
nav.
Floats sometimes work, test and see. Positioning works quite well so
long as it isn't too fancy but layouts where everything is absolutely
positioned are even more brittle for some users than tabled layouts.
If you do decide to use some tables for layout try to avoid nesting
tables and also think about whether one large table of several
sequential smaller ones would work better. I'd recommend using smaller
tables (and dropping tables for the parts of the page that don't need
multiple columns) to allow the browser to render the page quicker.
Steve