You may or may not remember the ‘good’ old days of 1998, when
HTML Tables were new and the technique of using transparent 1-pixel GIF
images was a proper means to create HTML layouts. Luckily, those days
are long gone now, even though sites like the Internet Archive remind many of us about the sins of our youth.
After that ugly era of tables and capitalized HTML tags, the
wonderful age of CSS came into view, heralding great promise. You might
remember when they said CSS would rid us of table-based layouts once
and for all. Guess what, they lied. While you can technically design
pages using only CSS, there’s still a lot lacking. You have to jump
through hoops to properly get float: left|right
items to
show. It’s near impossible to do something as simple as having a body
area that takes up at least the full window height, which before was a
matter of saying <table height="100%" width="100%">
and some well-placed <tr>
s.
Granted, browser bugs and inconsistencies are responsible for a lot
of the hassles you’re going through with CSS at the moment, but if
you’re creating HTML for a business website, you don’t have much of a
choice other than supporting Internet Explorer version 5.5 upwards at
least. With private websites, you don’t have to bother making it all
shine, it’s sufficient if it doesn’t break (for example, the navigation
on the right is position: fixed
and thus breaks on IE,
but it’s still usable — just that it doesn’t scroll with the viewport).
If you have the time, you can hack it to work in other (read:
non-compliant) browsers. I don’t have that time.
The reason for this rant is some fun I had helping a friend on a web
page. The seemingly innocent and simple task of centering the whole
content area of a website already requires CSS hacks for IE. At least
this time, validity was not impaired.
Someone should make Gecko mandatory.