When IE6 is Dead

08 December 2009 by jay boodhun 2 Comments

For the past 5 years Internet Explorer 6 (IE6) has been a web developers worst nightmare. Firstly because it is not a standard compliant browser as Microsoft has set its own standard with IE and CSS rendering- it doesn’t happen. IE needs very specific (non-valid) commands within your CSS to render properly.

There is a whole lot of arguments any web developer can come up with to justify that this browser should cease to exist. Firefox has been the most reliable and standard compliant browser so far plus there is an ever growing community of Web Developers backing it.

Why people still use Internet Explorer 6? I don't know, but here is something i found on the web:

Stereotypical User

Internet Explorer - Brain dead newbie. Loves pop-ups, viruses, and spyware. Just wants to "surf the Internet and check my email." Oblivious to alternative lifestyles. Seeks help from "computer smart" nephew.

Firefox - Proselytizing ubergeek. Loves freedom, choice, and tabbed browsing. Just wants to "improve mankind with Open Source Software." Oblivious to market forces and the power of money. Seeks other geeks to join in on the evangelism.

When IE6 is dead

So what am i expecting from the end of IE6:

  • Use child selectors
    No more having to define endless descendent rules to cancel out other descendent rules. With CSS2 child selectors we can specify CSS rules that only apply to direct children, not to descendants in general.
  • Full use of 24-bit PNGS
    No need to apply pngfix scripts to make transparent PNGs work. Even with pngfix hacks IE6 won't allow you to have clickable elements on the layer with a hacked transparent background.
  • Use attribute selector
    No more having to define type classes for inputs — things like <input class="text" ... /> — when we can address them with CSS2 attribute selectors like input[type="text"]. We can even use CSS3 substring-matching attribute selectors (supported in all modern browsers including IE7), which can be very useful for defining selectors that apply to a range of different attribute values, thereby reducing significantly the amount of code it takes to address groups of elements with similar class names (for example).
  • Use a wider range of display properties
    Being able to use things like display:inline-block instead of float:left means no more endless float within float within float, or the slightly-dubious use of overflow:hidden, just to get blocks to clear properly. (Though I should point out, we had to wait until Firefox 3 for this one too!)
  • Use min-width and max-width
    Although IE6’s implementation of width is very similar to the correct implementation of min-width, it’s not the same, and it doesn’t serve every purpose; and it doesn’t do anything about max-width. With the end of IE6 can come a new renaissance in block-layout design, with the greater flexibility that designers have been crying out for for years.
  • Trust z-index again
    No more scratching our heads as we ponder why layer X is on top of layer Y when it should be beneath, wondering what we might have done wrong, only to remember that — d’oh — we haven’t done anything wrong, it’s a stacking context bug in IE6.

IE6’s implementation of width is very similar to the correct implementation.

Great cmoomn sense here. Wish I’d thought of that.