HTML and CSS Reference
■ ■ ■
T here are a lot of great things about developing web sites using CSS. The browsers are not
one of them. Unfortunately, quite a few inconsistencies exist among common browsers when
it comes to how they render CSS styles. For the most part, these inconsistencies fall into two
distinct categories: unsupported selectors or attributes, and bugs.
A Little History
The great tale of the so-called browser wars has been told many times before (read more at
http://en.wikipedia.org/wiki/Web_browsers ), but somehow it never gets old.
In the beginning, there was Netscape (actually, there were a handful of browsers before
Netscape, but this is the place where our story begins). Netscape was a pioneering Internet
company that manufactured a web browser—software for viewing web sites on a personal
HTML defines the structure of a document, not its presentation. As such, Netscape was left to
its own devices regarding visual display. They made several very reasonable choices: headers
would be displayed bigger, and bolder, than other text. Paragraphs would have a small margin
above and below them. Unordered lists would have bullets next to each list item. And so on.
Things went quite well until Microsoft saw a market they weren't dominating and decided
to enter the space with their own web browser, which they deemed “Internet Explorer.” By and
large, Internet Explorer rendered pages just as Netscape did, but there were minor differences.
As Microsoft began making inroads into the web browser market share, both companies real-
ized they needed a competitive edge if they were to be the browser of choice for most users. To
achieve this, both companies appealed to web designers and developers by adding extensions
to HTML that only worked in their browser. Oftentimes, each company added features that
were very similar but required different HTML code from the other one. This created havoc for
web designers, as we were forced to decide which browser we would target with our code (or
ignore the nifty new features altogether). What's worse, it wasn't only Netscape and Microsoft;
other smaller players entered the browser space as well. Trying to make a web site that worked
well in all browsers was an exercise in frustration.