Gogo:Code
Providing PHP Programming Services to Design Professionals

Interested in Electronics?

Check out James' Embedded AVR/Arduino Development, and New Zealand Electronic Component Store

The information here was written before IE 7 was developed, let alone released, and as such may not be totally accurate any more.

The trouble with CSS 

As any self respecting web developer knows, CSS is the best thing since sliced bread. Using CSS allows you to seperate your content from the layout, it allows browsers to "degrade gracefully" when they don't understand things, and it gives you fantastic control over the look of almost any aspect of your display (notable exceptions are those damn Browse buttons on file inputs!).

Not only that but if you use CSS to write your content using the logical and correct markup (eg using <h1> for primary title, lists (<ol>/<ul>...) for list content, and only using tables for tabular data) then search engines are going to have a much easier time indexing and spidering your site.

So what's the problem ?

Internet Explorer is the Problem

Internet Explorer's support for even CSS1, which it claims to fully implement, is atrocious in many respects.

The main problems in IE are

  • Box model - not too much of a problem, and fixed in IE6 when in standards compliant mode.

  • Float - this is a big one. The float support is buggy at best and broken at worst, in a number of ways, including margin's forgetting thier setting and backgrounds being drawn over the top of the foreground !

  • background-attachment: fixed - IE continues to interpret this as fixed with relation to the element the background is applied to, not as is correct (and actually of use) in relation to the body. This site uses background-attachment fixed (at the time of writing) to provide some very nice, yet low overhead menu styling (which also increases the usability of the site a little) - but of course, IE users won't see this.

  • List styling, a strange bug where unless you add in a border to a list item you want to occupy a single line, it will occupy n + 1 lines, with a 1px border it's correct, without that 1px border and it goes to the dogs

  • And while not directly related to CSS, PNG support is still almost pointless, unless you use stupid IE hacks (filter: CSS rule) IE still does not support alpha transparency on PNG's - while every other browser worth it's salt does.

And what is Microsoft doing about these bugs and ommissions? Nothing. Yes, that's right, absolutely nothing. Microsoft has no interest in fixing these problems, they don't see a problem that thier browser is as bug ridden as a car grill on an summer evening, they have the market share.

Internet Explorer is the biggest hurdle in the acceptance of CSS (even version 1), no matter how good the other browsers get, it will never enter common use because Microsoft can't be bothered.