|
|
|
Latest Entries 25/06 Dr. Madness on IE7 06/09 Dr. Madness on Web 2.0 15/08 Dr. Madness on Flash/Eolas 13/07 Dr. Madness on books 12/07 Dr. Madness on DRM 12/07 The doctor is in! View all Need to spew? Want to share some of your own madness? DrMadness@DrMadness.com If you're looking for the old DRM Madness site, please click here. |
Dr. Madness on IE7
As you all know or at least should know by now, Internet Explorer 7 has been out for quite a while. A breath of fresh air some said, a release from the dreadful beast that is Internet Explorer 6 some others uttered. Many rejoiced, some even shed tears of pure delight, yet doors did not open and champage did not fall from the heavens. The webdevelopers among us were looking forward to two things: better standards compliance and the PNG alpha channel support. Indeed, IE7 is better than IE6 on both counts, but many a coder still cries himself to sleep over IE, and when they finally reach those lukewarm depths of sweet oblivion, sooner or later they will find themselves sitting up in bed drenched in sweat and screaming for their mothers. What actually happened with IE7 is that Microsoft released yet another product that seems to work if you glance at it, but crushes all your hopes and dreams when you look under the hood. The standards compliance has gone from non-existent to flaky and unpredictable, so now dev's have to take special care about IE6 and IE7. Add to that that IE7 isn't even available to users not running XP SP2, and it should be clear that it will be another 5 years at least before IE6 is finally banished to the flaming pits of hell, where it belongs. As for support for PNG's with alpha channel, well, the IE development team themselves have something to say about that: http://blogs.msdn.com/ie/archive/2005/04/26/412263.aspx . If you read closely and a little between the lines you will undoubtedly notice that they pretty much admit IE6 is built up in an awkward unextensible way, and was really never fit to be able to support such a thing in the first place. What is also weird is that they tout transparency as being more expensive on memory because the alpha channel also needs to be stored and the drawing itself a computationally expensive operation. This raises the question if IE is normally in the habit of storing 24 bit images internally in actual 24 bits per pixel instead of using the much much faster 32 bits per pixel format (coincidentally, PNG24 with alpha also requires 32 bits per pixel). Also, as you may read at http://msdn2.microsoft.com/en-us/library/ms532324.aspx the AlphaBlend function (and it's little friends, like the normal image copy) can actually be accelerated by the video card, which is usually the case if you have a computer capable of both booting and running XP SP2 at least once in an average human's lifespan. In other words, unless they really pulled a fast one, it has absolutely zero noticable impact on your performance. After all this, it shouldn't come as any surprise that the PNG transparency doesn't really work that well. Sure, you can show a nice alphablended PNG now; hurrah, it's not like we couldn't do that in IE6 and aren't stuck with that anyway for the next few years. How doesn't it work? Get this: PNG's with alpha cannot be blended correctly using CSS's opacity unless there's a non-transparent background between (or part of) the PNG and the element having a non-opaque opacity.
For example, take this html:
<div id="outer"> Should you fade outer, inner or image, the parts of the PNG that are not completely transparent or completely opaque, will become black. There are ways around this ofcourse, if you give outer or inner a background color or background image without alpha, it works correctly. However, this opaque background MUST be between (or part of) the element you fade and the PNG, rendering the whole thing utterly and completely useless. There is no way to fade a PNG with alpha over other content on the page without also obscuring the parts of the content that would be visible through the PNG's transparent parts. It seems that whatever cool thing you want to do on the web, Internet Explorer is there to bite you in the ass. They should've just bought Opera or joined the Firefox camp and created an IE7 like that. We all know that's not how Microsoft rolls - they know they're singlehandedly holding back the evolution of the web, they just don't care, a quick glance at the new Outlook breaking HTML mail for pretty much everything not sent by Outlook should confirm that. They have the biggest marketshare, they can do anything, unless users wise up. And we all know that is not going to happen!
First created on 25-06-2007 at 03:00:36, last modified on 25-06-2007 at 04:17:11.
Comments
|
|
Copyright (C) 2006 DrMadness.com |
|