HTML and CSS Reference
Incomplete Support for PNG Images
Although this topic is not directly related to CSS, it is also notable that IE 6 and lower do
not fully support the PNG image file format. One exciting feature of PNG is its support for
alpha channel transparency (as opposed to the binary transparency of, say, the GIF image
file format). IE 6 does not natively support this type of transparency when using PNG
images (although some workarounds make it possible).
It's Not All Bad
Despite the ominous tone of the preceding paragraphs, it is possible to wrangle IE 6 into
behaving fairly well, if you follow the best practices outlined in this topic. A site without a few
IE workarounds is a very, very rare commodity, but the workarounds do work, and aren't par-
ticularly hard to implement.
There will always be other browsers (you can find an exhaustive list of web browsers at http://
en.wikipedia.org/wiki/List_of_web_browsers ). There are less commonly used browsers out
there now; niche players will always enter the marketplace, and new alternative devices will be
born with browsers of their own. The goal of web standards is to make this fact irrelevant. If
these new browsers properly implement the standards set forth by the W3C (including (X)HTML
and CSS)—and you write your code to those specs—you should be able to count on your sites
displaying as you expect on all browsers. The open sourcing of great rendering engines like
Gecko and WebKit is making this more possible than ever before.
However, expecting all web browsers to render pages identically is an idealistic view of the
world, and probably won't be reality any time soon. The best you can do, as a web designer or
developer, is to write standards-based code, apply workarounds where necessary to make your
sites work in the major browsers, and test in as many browsers as you can get your hands on.
Dealing with Older Desktop Browsers
Unfortunately for us web designers and developers, not all web surfers use the latest and
greatest versions of their browsers. Some folks are hesitant to upgrade, others don't know they
should upgrade, and yet others have hardware that is outdated to a point where upgrading is
not an option.
One fear organizations often have when they consider moving to a CSS-based approach is
whether doing so will alienate these users. The reality, though, is that a properly implemented
web-standards method of web development will actually make your site more accessible to
users with older browsers.
You see, in the first era of web development (which lasted throughout the '90s), we were
forced to make hard choices about which browsers we would support. The vast differences
between browsers meant we needed to rewrite most aspects of each site for each one, and this
was only practical to do for a few choice browsers.
Modern web development (using web standards), on the other hand, allows us to support
all browsers—at least in some capacity. And when we refer to all browsers, we mean all . This
includes the version of Mosaic released in the early '90s all the way up to today's browsers,
browsers on alternative devices (cell phones, PDAs, game consoles, etc.), and even browsers