Aaaargh!

*tests hackersluts.com on a bunch of browsers*

*notices weird display glitches in Internet Explorer for Windows*

*spends two and a half hours digging through the CSS*

*bashes head into desk*

*reads up on Explorer’s lame, braindead, broken CSS rendering*

*spends another half hour beating on CSS*

*cries*

Jumping Jiminy Christ on a pogo stick, how in the hell did Microsoft ever become the dominant force in the IT industry with such poorly-written, inherently broken, crap software? Internet Explorer…what a festering pile of crapware that browser is! Working around bugs in its CSS support is something of a blood sport in Web circles.

See, this is why all my other Web sites don’t use CSS.

*gets it to work, finally*

36 thoughts on “Aaaargh!

    • CSS *is* universal. It’s the idiots at Microsoft who refuse to abide by any standard they don’t write themselves (and not even all the ones they *do* write themselves)

    • The problem with CSS is it does everything in such a backward, cumbersome way. CSS is a write-only scripting system–sure you can write CSS, but try reading someone else’s! It seems obvious to me that it was bolted on to HTML after the fact, and nobody wanted to do what really needed to be done: rip the guts out of HTML and rewrite it to fix the deficiencies that CSS papers around.

      But yeah, it can do some awesome stuff. 🙂

  1. Hey if you only spent a few hours trying to get a CSS design to work in IE, you’re a better man than I. Hint: usually it boils down to math, subtracting a few pixels here & there. Very inelegant.

    • In this case, I gave up on pixel-perfect rendering early on. I just wanted it to render even approximately the same way that it did in Firefox or Safari.

      Apparently, Explorer doesn’t always respect width= attributes, and appears to completely ignore them in body tags; and it does weird things with float and margin. Attaching a margin to the body tag appears to override a width in a div; it’ll stretch the div to reach the margin of the Web browser window even if you want the div to be a fixed size, unless you wrap the whole thing up inside another div.

      In other words, they don’t even get the basics right. Grr….

  2. Hey if you only spent a few hours trying to get a CSS design to work in IE, you’re a better man than I. Hint: usually it boils down to math, subtracting a few pixels here & there. Very inelegant.

  3. . . . how in the hell did Microsoft ever become the dominant force in the IT industry with such poorly-written, inherently broken, crap software?

    By giving it away, and making it difficult to dump. Ya git whatcha pay fer.

  4. . . . how in the hell did Microsoft ever become the dominant force in the IT industry with such poorly-written, inherently broken, crap software?

    By giving it away, and making it difficult to dump. Ya git whatcha pay fer.

  5. You’re just discovering this now?

    For your enjoyment:
    http://www.i-marco.nl/weblog/images/breakdown.png

    Yes, IE6’s CSS support is truly the spawn of hell. Fortunately most of the bugs have been well documented for a few years now, so if you do it often you know what to avoid. Nonetheless I have encountered two severe previously undocumented IE6 bugs in my work, one CSS and one javascript. In each case they cost me upwards of 5 hours on a single project.

    Even some notable CSS1 elements aren’t correctly supported in IE6, and the CSS1 standard was released in 1996, more than four and a half years before IE6 was out. Take a look at the Complexspiral demo for an extremely useful design effect that should have been possible for designers starting 1998 or so that we still can’t use because 60% of the viewing public uses IE6.

    Note that all other browsers either pass the Acid2 test now or have a version coming out shortly (like Firefox 3) that passes it. Microsoft has announced that IE 8 – currently under development for likely release in 2009 – can pass it, but ONLY IF the webpage developer explicitly triggers “IE Standards Mode” through a special comment code on the page.

  6. You’re just discovering this now?

    For your enjoyment:
    http://www.i-marco.nl/weblog/images/breakdown.png

    Yes, IE6’s CSS support is truly the spawn of hell. Fortunately most of the bugs have been well documented for a few years now, so if you do it often you know what to avoid. Nonetheless I have encountered two severe previously undocumented IE6 bugs in my work, one CSS and one javascript. In each case they cost me upwards of 5 hours on a single project.

    Even some notable CSS1 elements aren’t correctly supported in IE6, and the CSS1 standard was released in 1996, more than four and a half years before IE6 was out. Take a look at the Complexspiral demo for an extremely useful design effect that should have been possible for designers starting 1998 or so that we still can’t use because 60% of the viewing public uses IE6.

    Note that all other browsers either pass the Acid2 test now or have a version coming out shortly (like Firefox 3) that passes it. Microsoft has announced that IE 8 – currently under development for likely release in 2009 – can pass it, but ONLY IF the webpage developer explicitly triggers “IE Standards Mode” through a special comment code on the page.

  7. It helps if a design doesn’t have to be pixel-perfect, but I save a substantial amount of time coding for FireFox and then putting my IE CSS fixes in a conditional statement after I’ve called my original external stylesheet. This way, the only (negligible) lag is experienced by those using the buggy browser. I still do my testing accross as many platforms, browsers, and resolution settings as possible, but I find that coding for FireFox and IE seems to cover most of them fine.

    The simpler the site layout, of course, the less tweaking is necessary.

    • This is, to be fair, the first time I’ve ever tried to do any sort of significant layout entirely in CSS. And I gotta say, at this point I’m leaning toward preferring good old-fashioned tables.

  8. It helps if a design doesn’t have to be pixel-perfect, but I save a substantial amount of time coding for FireFox and then putting my IE CSS fixes in a conditional statement after I’ve called my original external stylesheet. This way, the only (negligible) lag is experienced by those using the buggy browser. I still do my testing accross as many platforms, browsers, and resolution settings as possible, but I find that coding for FireFox and IE seems to cover most of them fine.

    The simpler the site layout, of course, the less tweaking is necessary.

  9. how in the hell did Microsoft ever become the dominant force in the IT industry with such poorly-written, inherently broken, crap software?”

    In much the same way that crap politicians get elected.

  10. how in the hell did Microsoft ever become the dominant force in the IT industry with such poorly-written, inherently broken, crap software?”

    In much the same way that crap politicians get elected.

  11. CSS *is* universal. It’s the idiots at Microsoft who refuse to abide by any standard they don’t write themselves (and not even all the ones they *do* write themselves)

    • People still use IE for the same reasons, I think, that people still believe the world is 6,000 years old, that NASA faked the moon landing, and that Scientology offers truth about the universe: ignorance, fo an astounding degree, coupled with the almost fanatical desire to believe that black is white and up is down.

    • A large number of people I encounter in my work are not aware that other browsers exist. To a huge fraction of people, “Internet Explorer” and “The Web” are synonymous. I do my best to educate them…

      But when many large corporations have company policy of buying 19″ LCDs for all office users but running them at 800×600 resolution (thus smearing the pixels like crazy), there’s only so much you can do.

  12. The problem with CSS is it does everything in such a backward, cumbersome way. CSS is a write-only scripting system–sure you can write CSS, but try reading someone else’s! It seems obvious to me that it was bolted on to HTML after the fact, and nobody wanted to do what really needed to be done: rip the guts out of HTML and rewrite it to fix the deficiencies that CSS papers around.

    But yeah, it can do some awesome stuff. 🙂

  13. In this case, I gave up on pixel-perfect rendering early on. I just wanted it to render even approximately the same way that it did in Firefox or Safari.

    Apparently, Explorer doesn’t always respect width= attributes, and appears to completely ignore them in body tags; and it does weird things with float and margin. Attaching a margin to the body tag appears to override a width in a div; it’ll stretch the div to reach the margin of the Web browser window even if you want the div to be a fixed size, unless you wrap the whole thing up inside another div.

    In other words, they don’t even get the basics right. Grr….

  14. People still use IE for the same reasons, I think, that people still believe the world is 6,000 years old, that NASA faked the moon landing, and that Scientology offers truth about the universe: ignorance, fo an astounding degree, coupled with the almost fanatical desire to believe that black is white and up is down.

  15. This is, to be fair, the first time I’ve ever tried to do any sort of significant layout entirely in CSS. And I gotta say, at this point I’m leaning toward preferring good old-fashioned tables.

  16. A large number of people I encounter in my work are not aware that other browsers exist. To a huge fraction of people, “Internet Explorer” and “The Web” are synonymous. I do my best to educate them…

    But when many large corporations have company policy of buying 19″ LCDs for all office users but running them at 800×600 resolution (thus smearing the pixels like crazy), there’s only so much you can do.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.