How To Support Internet Explorer and Still Be Cutting Edge

Advertisement

Everyone has been going on about how we should use CSS3 more and all of the possibilities and flexibility that come with it, but that we should still consider IE6 and other troubling browsers.

But how do we actually do that? How do we create websites that are up to date with the latest coding techniques but that are also usable for people experiencing the Web on Internet Explorer?

In this article, we’ll see what measures we can take to provide a good experience for IE users but keep moving on. We will mainly focus on the CSS part but will also provide some handy tips on dealing with overall markup.

Also consider our previous articles:

The Content Is What Matters Link

Jeffrey Zeldman once said4, “content precedes design. Design in the absence of content is not design; it’s decoration.” In fact, the most important thing on your website is the content. This is what everyone should be able to get, no matter which browser they’re using.

Using CSS3 doesn’t mean we should forget about older browsers and lock visitors out of our websites. We should check our websites on browsers as old as maybe IE5 or 5.5 and make sure the content is accessible for every user.

This doesn’t mean we should quit the fight to eradicate IE6 either. We can still follow the example of websites such as Twitter and YouTube and add visible but not dead-end warnings to upgrade.

YouTube's IE6 warning message5

Twitter IE6 warning message6
YouTube and Twitter warning messages for IE6 users

And remember: each profession has the duty to educate those who are not familiar with their trade. We must explain how stuff works to our clients without being patronizing. It’s not their job to know this after all.

Basics First: The Three Layers (HTML, CSS and JavaScript) Link

When we create a new website, we do it in steps. First, the HTML. We will mark up our content in the most semantic way possible: titles should be marked up as headings, lists as lists, etc. The bottom line is that our content should be perfectly readable and its hierarchy understandable with only this part of the coding done. The content has to make sense, and we must never forget that this layer is the foundation on which we will develop all the rest.

Secondly, we add the style, the CSS. In this step, we add the visual elements to our design; we give the website its personality. We also make sure that the content is accessible without the third layer.

And finally, the third layer, the JavaScript, the behavior. Here we add the interactive elements to our website. We make the experience richer using things such as tabs, sliders, lightboxes, etc.

With this path in mind, our content will always be accessible in any browser. We make sure that older browsers get only the basic content and disregard more complex layers that could hamper their users’ access to it.

Adding Basic Style For Old Browsers Link

So our semantic markup is done, and we know that some browsers cannot render CSS properly or at all, such as browsers before Netscape 4.0 or Internet Explorer 4.0. For those browsers, displaying the bare content—the naked version—is the safest choice.

Some people say that, today, there is no need to do this. But if you’d like to make sure that these people on these browsers don’t run into any problems, just link to a basic version of your CSS with the link tag and then to the more advanced file with the @import declaration:

<link rel="stylesheet" type="text/css" href="basic.css" media="screen" />
<style type="text/css">
	@import "advanced.css";
</style>

You can also skip the link tag altogether and leave them with a text-only version of the website:

<style type="text/css">
	@import "style.css";
</style>

Embracing The Differences Link

Now let’s deal with the black sheep of commonly used browsers: Internet Explorer 6.

You’ve got two options:

  1. If only a negligible percentage of your audience is browsing the Web with it and you don’t want to throw your client’s money down the drain, you could create a basic style sheet for IE6.
  2. Acknowledge that your design will not look the same in IE6, and make decisions on what to leave out: which IE6 quirks will you fix and which will you leave be.

If you choose to feed IE6 a basic style sheet, the best course is to use the Universal IE6 CSS7. Your website will have virtually no design, but this style sheet makes sure that the body has a readable width, that heading sizes are reasonable and that the content has some nice white space surrounding it.

In your HTML, you will have to add some conditional comments to link to the style sheet and to hide the other sheets from IE6:


	<link rel="stylesheet" type="text/css" href="styles.css" media="screen" />


In the first conditional comment, we link our main style sheet to all browsers that are not IE6 (hence the “!”). And in the second comment, we link directly to the Universal IE6 style sheet on Google’s repository (and save some bandwidth at that!).

Make Photoshop Faster on Firefox8

Make Photoshop Faster on IE69
The Make Photoshop Faster website uses the Universal style sheet for IE6

If you prefer the second route, you must be prepared to embrace the differences between browser renderings. Know that some details of your design will not be visible or render as nicely in IE6, or even IE7 and 8. And don’t be upset about it.

Resets Link

As you know, all browsers have different default styles for the various HTML elements. This is why using a reset style sheet is wise, so that we can start with a clean slate.

Plenty of style sheets are around on the Internet for anyone’s benefit. The one that is usually considered the standard and most often implemented is Eric Meyer’s reset10, or some variation of it.

Eric Meyer's CSS Reset11

With the advent of HTML5, including the new HTML elements in your CSS reset is also a good idea. html5doctor12 provides a good update to Eric Meyer’s reset that you can use for free in your projects.

html5doctor's CSS reset13

You can use a CSS reset either by embedding it at the top of your own CSS file, or, if you like to keep things tidy, by importing it from your style sheet:

@import url(reset.css);

CSS Differences That Could Break Your Layout Link

If you decide to use the Universal IE6 CSS, you’ve just saved yourself many a headache. But don’t let the shiny logos of IE7 and 8 fool you: if you intend to use the latest CSS techniques, you still have to do a lot to cater to them.

IE6 and PNG support Link

We all know that PNG images with alpha-channel transparency (i.e. the good-looking ones) don’t play nice on IE6. We’ve all seen that annoying light-blue background on our carefully crafted logos.

You can choose from among a few workarounds to this problem so that IE6 can display PNGs. Each is fairly quick to implement and does make a difference in the overall design.

Here are a few of the best scripts and techniques for dealing with this issue:

That said, we should mention that more and more Web designers nowadays opt not to fix the PNG issue on IE6:

31three website on IE619
The newly revamped 31three website doesn’t apply any fix for PNGs in IE6.

Advanced Selectors Link

These selectors are almost the definition of smooth CSS development by themselves, because they hold the true power of CSS and can make our lives as developers so much easier (and our budgets so much lower!).

The decision of whether to make them work on Internet Explorer or not depends largely on what you are using them for.

For example, if you are using them to add extra detail to your designs, such as small icons to represent different file types, it won’t make a lot of difference if the icons don’t display on some browsers. Visitors to your website won’t know what they are missing, and the links will still be perfectly usable.

These selectors are also widely used to enhance typographic detail, and lack of support for them won’t be a big issue for your designs.

Comparison of the rendering of the Hicksdesign website on Firefox and IE20
Hicksdesign uses advanced selectors for numbered bullets in its navigation menu, and they simply aren’t visible for IE6 users

Which browsers don’t support this? Internet Explorer 6 will not see styles applied with virtually any advanced selector. It only really understands simple descendant combinators and classes and ID selectors. It even struggles with multiple classes applied to the same element! It’s not to be trusted.

IE7 ignores the :lang selector and pseudo-elements, such as :first-line, :first-letter, :before and :after. But it does understand all attribute selectors.

Also, none of the Internet Explorer releases to date supports the :target pseudo-class, UI element states pseudo-classes (:enabled, :disabled, etc.), structural pseudo-classes (like :nth-child, :nth-of-type or :first-child) or the negation pseudo-element.

Box-Sizing Link

Box-sizing allows you to tell the browser how you want it to calculate the width and height of an element.

For example, if you set the box-sizing property to border-box, then the paddings and borders will be subtracted from the specified width and height of that element, instead of added to them (as stated in the W3C’s specifications for the standard box model).

This can make it easier to control the size of elements and to make sizes behave the same across different browsers.

If you believe that your website renders in IE in quirks mode (and therefore renders with the non-standard box model), you may want to use this property in your style sheets to make all browsers uniform.

Make sure to add the standard property and the vendor-specific ones:

div {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

Which browsers don’t support this? If the website is rendered in quirks mode, IE6 will render using the non-standard box model, so it will already be rendering as if it had the “border-box” property on. You can force IE6 to render in quirks mode. There are a few ways of doing this; one way is by adding an HTML comment before the doctype declaration of your HTML pages.

Media Queries Link

Media queries aren’t fully supported by most browsers, and Internet Explorer doesn’t support them at all.

However, because they are mostly used to call variations of style sheets for handheld devices, such as the iPhone, this fact is almost irrelevant in that case.

If you use media queries mainly to cater to the iPhone, the fact that they are not supported by other browsers makes no difference anyway, and their use is highly encouraged.

If you are using them to create a more flexible website design that adapts to changes in, say, window size, then know that only Safari, Firefox and Opera support them (partially).

Which browsers don’t support this? Internet Explorer and, in some instances, Safari and Firefox.

CSS Differences That Are Mainly Decorative Link

These are the issues that are best left alone for non-supporting browsers, because the lack of support won’t be a problem for users who want to access your content (i.e. your pages won’t break).

This has to do mainly with some of the new CSS3 properties, such as border-radius, text-shadow and border-image.

Border-radius Link

This is the first CSS3 property that designers learned to live without on Internet Explorer, because of its clearly decorative nature. With border-radius, you are better off not trying to replicate it on IE at all. Just let it be.

Gowalla's homepage on Firefox21

Gowalla's homepage on IE622
Gowalla uses border-radius on its website, but Internet Explorer users don’t see it.

Which browsers don’t support this? All Internet Explorer browsers. Opera, too.

Font-face Link

Font-face can be used with IE, but you may need to use Microsoft’s Web Embedding Fonts tool23 to convert your fonts to EOT.

Microsoft Web Embedding Fonts Tool (WEFT)24

If you are including both font formats in your website, your CSS will probably follow this structure:

@font-face {
	  font-family: "Delicious";
	  src: url("Delicious-Roman.eot");
	  src: local("Delicious"), url("Delicious-Roman.otf") format("opentype");
}

Usually, a browser not being able to render the first font in a font stack shouldn’t break the website or hamper in any way the user’s access to the content. So, the recommendation here is to carefully ponder which fonts you want the visitor to see if their browser doesn’t support font-face and has to rely on the fonts you have declared in the style sheet.

Elliot Jay Stock's website on Firefox25

Elliot Jay Stock's website on IE26
A browser that doesn’t support font-face simplys show the next available font in the font stack

Which browsers don’t support this? If you use the EOT version for IE, even IE users will see the correct fonts.

Multiple Columns Link

Rather than create multiple floating DIVs to organize your text into columns, you can create columns automatically by using the multiple column properties in CSS3. But this means that some browsers won’t see them.

Multiple columns are better used for text, not layout. If you use them on your website, the worst thing that will happen is that visitors see a wider line of text.

If you’re dealing only with short text, than why not go ahead and use it and finish the job in two minutes? But if it would seriously impair the readability of your content, then your best option is to stick to the regular DIVs to create columns.

Multiple columns on Firefox27

Multiple columns not rendered on IE28
Here, the introductory text is displayed using CSS multiple columns. IE users will see normal single-column text.

Which browsers don’t support this? Internet Explorer and Opera.

RGBa and Opacity Link

RGBa colors are bliss. Rather than use hard-to-update PNG files for backgrounds, you can create the same transparency effect with CSS. But IE doesn’t get it. IE6 doesn’t even understand the PNGs to begin with.

It’s safe to assume that these transparencies won’t usually be applied to elements that cover important content; in which case, the content shouldn’t be behind another element in the first place.

So, when using RGBa colors, make sure to include a normal color before the RBGa one, so that browsers that don’t understand it will still have a fallback color:

div {
	background-color:  #FFFFFF;
	background-color: rgba(255,255,255,.5);
}

Opacity can be applied to IE using the opacity filter, but IE filters work only on elements that have layout:

div {
	filter: alpha(opacity = 50);
}

Also, remember that opacity works differently than RGBa colors: all of the elements enclosed in this DIV will be rendered transparent.

24ways website on FIrefox29

24ways website on IE830
24ways uses RGBa colors and alpha transparency heavily, even though Internet Explorer doesn’t render the transparency.

Which browsers don’t support this? Every browser sees opacity, provided that filters are applied. IE doesn’t see RGBa colors.

Text-shadow Link

This is an easy call: ignore it. Assuming that the text is still readable, trying to recreate text-shadow any other way than with CSS is a Herculean task. So, unless missing text-shadow would seriously reduce the clarity of a large amount of text, or a small amount (in which case you could use image replacement), you’re better off without it.

Brokers Direct website on Firefox with text-shadow31

Brokers Direct website on IE with no text-shadow32
The white text-shadow on Brokers Direct’s website is not visible on Internet Explorer.

Which browsers don’t support this? Internet Explorer.

Border-image Link

The border-image property gives us an easy way to add beautiful borders to our elements that would otherwise be a nightmare to implement (and that in most instances we would probably choose not to implement).

Because the property is almost always decorative, the best option would be to include a fallback for browsers that don’t support it using the normal border property, and adding the enhanced CSS after it for other browsers.

SpoonGraphics blog on Firefox with border-image33

SpoonGraphics blog on IE with no border-image34
SpoonGraphics uses border-image, but it is not visible in Internet Explorer.

Which browsers don’t support this? Answering the opposite question is easier: for now, only Safari and Firefox support this feature.

Multiple Backgrounds Link

This feature depends on the design of your website, but in a lot of cases, the lack of a second or even third background will not affect the readability of the page.

Multiple backgrounds in CSS saves us a lot of the development headaches that were caused by having to use different HTML hooks and nested elements to achieve the same effect. So, if you opt to use multiple backgrounds, you are already choosing which browsers to display the results to.

If all users seeing all of the backgrounds is important to you, then do it the old way and apply different backgrounds to different elements.

If not, your best bet is to give a fallback to browsers that don’t support it: pick the background that you feel is most important or that best fits the overall design and add that property before the multiple backgrounds one. Browsers that don’t support it will ignore the second property.

Which browsers don’t support this? Internet Explorer, Opera and Firefox up until version 3.5 (version 3.6 is currently in beta, but it supports multiple backgrounds!).

Tools Link

Modernizr Link

Modernizr homepage35

Modernizr36 is a little JavaScript that is quite useful if you are using advanced CSS properties. It adds some classes to the html tag in your pages, to see whether a browser supports certain CSS features, such as:

  • @font-face
  • rgba()
  • hsla()
  • border-image
  • border-radius
  • box-shadow
  • Multiple backgrounds
  • opacity
  • CSS animations
  • CSS columns
  • CSS gradients
  • CSS reflections
  • CSS 2-D transforms
  • CSS 3-D transforms
  • CSS transitions

Take border-image. When a page loads in a browser that supports the property, it output borderimage. If the browser doesn’t support it, it outputs no-borderimage.

Modernizr doesn’t enable these features in browsers that don’t support them, but rather gives you important information (in the form of classes) that you can use in your style sheets to apply distinct selectors and properties to elements.

IE-7.js Link

IE-7.js37 makes IE5+ behave like IE8, supporting more advanced selectors and fixing some rendering bugs. Here’s an excerpt from the creator’s website38:

  • Added support for advanced selectors: >, + and ~; attribute selectors; :hover, :active, :focus for all elements; :first-child, :last-child, :only-child, :nth-child, :nth-last-child; :checked, :disabled, :enabled; :empty, :not; :before, :after, :content; :lang.
  • It uses the standard box model in standards and quirks mode.
  • Supports min- and max-width and -height.
  • Supports PNG alpha transparency (but doesn’t solve the PNG problem for repeated or positioned backgrounds).

The disadvantage of this technique is that JavaScript has to be enabled for it to work, which is unfortunate. So, you will have to be careful to give users who have disabled JavaScript an acceptable version of your website, especially if some behaviors will not work or, worse, if the lack of JavaScript will break your layout.

Examples Link

As they say it, this is easier said than done. So, we’ll show that these ideas can actually be put into practice with some nice examples. These are websites we’ve come across that render differently in different browsers. In some cases, the differences are quite noticeable, but the developers have chosen to embrace those differences.

Twitter Link

Twitter on Firefox39
Twitter in Firefox

Twitter on IE640
Twitter in IE6

WordPress Link

WordPress on Firefox41
WordPress in Firefox

WordPress on IE642
WordPress in IE6

WWF Link

WWF on Firefox43
WWF in Firefox

WWF on IE644
WWF in IE6

Conclusion Link

Remember that the purpose of this post is not to teach you how to hack IE or deal with its quirks or even how to achieve effects by resorting to JavaScript. Rather, it is to explain how we can design and build websites knowing that differences will arise between browsers.

You won’t see people rioting over the lack of rounded corners on Twitter or WordPress; they aren’t even upset by it, because those differences don’t fundamentally break the websites. People can still use the websites and have a good experience. In most cases, they won’t even notice it!

All we have to do now is explain this politely but seriously to our clients, so that we can all contribute to the ever-evolving Web.

Further Reading And References Link

Do your designs have a support for older versions of Internet Explorer (<= 7.0)? Link

You may be interested in the following related posts:

(al)

Footnotes Link

  1. 1 http://www.smashingmagazine.com/2009/08/17/taming-advanced-css-selectors/
  2. 2 http://www.smashingmagazine.com/2009/06/15/take-your-design-to-the-next-level-with-css3/
  3. 3 http://www.smashingmagazine.com/2009/01/08/push-your-web-design-into-the-future-with-css3/
  4. 4 http://twitter.com/zeldman/statuses/804159148
  5. 5 http://youtube.com
  6. 6 http://twitter.com
  7. 7 http://code.google.com/p/universal-ie6-css/
  8. 8 http://makephotoshopfaster.com/
  9. 9 http://makephotoshopfaster.com/
  10. 10 http://meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded/
  11. 11 http://meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded/
  12. 12 http://html5doctor.com/html-5-reset-stylesheet/
  13. 13 http://html5doctor.com/html-5-reset-stylesheet/
  14. 14 http://www.dillerdesign.com/experiment/DD_belatedPNG/
  15. 15 http://allinthehead.com/retro/338/supersleight-jquery-plugin
  16. 16 http://www.sitepoint.com/blogs/2007/09/18/png8-the-clear-winner/
  17. 17 http://www.smashingmagazine.com/2009/07/15/clever-png-optimization-techniques/
  18. 18 http://www.smashingmagazine.com/2009/07/25/png-optimization-guide-more-clever-techniques/
  19. 19 http://www.31three.com/
  20. 20 http://www.hicksdesign.co.uk/journal/
  21. 21 http://gowalla.com
  22. 22 http://gowalla.com
  23. 23 http://www.microsoft.com/typography/WEFT.mspx
  24. 24 http://www.microsoft.com/typography/WEFT.mspx
  25. 25 http://elliotjaystocks.com
  26. 26 http://elliotjaystocks.com
  27. 27 http://yaili.com
  28. 28 http://yaili.com
  29. 29 http://24ways.org
  30. 30 http://24ways.org
  31. 31 http://brokersdirect.net
  32. 32 http://brokersdirect.net
  33. 33 http://www.blog.spoongraphics.co.uk/
  34. 34 http://www.blog.spoongraphics.co.uk/
  35. 35 http://www.modernizr.com/
  36. 36 http://www.modernizr.com/
  37. 37 http://code.google.com/p/ie7-js/
  38. 38 http://dean.edwards.name/IE7/
  39. 39 http://twitter.com
  40. 40 http://twitter.com
  41. 41 http://wordpress.org
  42. 42 http://wordpress.org
  43. 43 http://panda.org
  44. 44 http://panda.org
  45. 45 http://www.quirksmode.org/css/quirksmode.html
  46. 46 http://www.satzansatz.de/cssd/onhavinglayout.html
  47. 47 http://24ways.org/2008/the-ie6-equation
  48. 48 http://www.virtuosimedia.com/tutorials/ultimate-ie6-cheatsheet-how-to-fix-25-internet-explorer-6-bugs
  49. 49 http://sixrevisions.com/web-development/definitive-guide-to-taming-the-ie6-beast/
  50. 50 http://webdesignernotebook.com/css/how-to-use-modernizr/
  51. 51 http://answers.polldaddy.com/poll/2325530/
  52. 52 http://www.polldaddy.com
  53. 53 http://www.smashingmagazine.com/2009/08/17/taming-advanced-css-selectors/
  54. 54 http://www.smashingmagazine.com/2009/06/15/take-your-design-to-the-next-level-with-css3/
  55. 55 http://www.smashingmagazine.com/2009/01/08/push-your-web-design-into-the-future-with-css3/

↑ Back to top Tweet itShare on Facebook

Inayaili de León is a London-based Portuguese web designer, specialist in cross-browser, semantic HTML and CSS, and clean, functional design. She writes frequently for well-known online and print publications and also on her own web design blog, Web Designer Notebook. In May 2011, she published a book, Pro CSS for High Traffic Websites, and she speaks frequently at local and international web conferences and meetups. She is currently working as a web designer on Canonical's Design team.

Advertisement
  1. 1

    Yeah, sure….my grandma still uses Internet Explorer, i’m using Google Chrome. No offense :))

    1
  2. 2

    Great post. I always display an “Upgrade your Browser” on my sites.

    1
  3. 3

    Thanks for the post! Working with IE is tough, but I think this does a great job. Thanks for the explanations about the CSS3 elements as well! Definitely bookmarked!

    0
  4. 4

    I’m curious if we still have this discussion over a couple years. But it’s a sad one.

    0
  5. 5

    Inayaili,

    Very useful article much as I loath IE6 you still have to work with it, your hints and tips will help with some of the pain.

    Regards

    Ismail

    0
  6. 6

    its good to educate end users and its tricky that we have to work more to accommodate IE users. but still, this is life.

    0
  7. 7

    Best post I’ve read in a while! I’d never even heard of the Universal IE6 stylesheet.

    0
  8. 8

    Also something to consider is the use of HTML5 and still support all browser (even IE6!) is to use the following script: http://remysharp.com/2009/01/07/html5-enabling-script/

    Although it’s javascript (very small; 350 bytes) it will help you to create real cutting edge templates. And with use of the tips described in this post you won’t even see the difference.

    1
  9. 9

    great article

    0
  10. 10

    Useful post, to those saying it is the older generation that uses IE, this is not true – a lot of workplaces, Universities, colleges etc use IE as a default browser so unless you don’t mind excluding these viewers (and potential customers) you sadly can’t afford to ignore IE altogether.

    0
  11. 11

    Nice Post :)
    Keep it up :)

    0
  12. 12

    Great post! and i do ignore IE users on my site! it helps filter out some time wasters and not over fill my work schedule to allow quality customers, :P

    0
  13. 13

    Until developers and designer stop kowtowing to IE6’s woeful inadequacies, there will be no incentive for those that still have it installed to upgrade or change. The one and only thing you should ever have on your site that is IE6 specific is a warning about upgrading or changing browsers. I don’t listen to music on 8 track because something better came along. I don’t use IE for the same reason.

    1
  14. 14

    A nice article, but still there’s an assumption that people choose IE6, or rather that they have a choice to upgrade it.

    Some of the sites we work on have 35-40% of IE6 users, the second largest percentage after IE7. When you dig deeper, the vast majority of those visits come from large corporations. A lot of our clients also work for large organisations who have an IT policy to have Windows XP and IE6 on every machine, simply to allow them to easily support said machines. Often they have Intranets optimised to work in IE6 only. It might be wrong, and it might be counterproductive, but that’s the way it is, and no amount of patronising “upgrade your browser” messages will make any difference. I’m hoping that the launch of Windows 7 will see more IT departments consider upgrading their software, but I won’t hold my breath.

    The rest of the IE6 users out there probably don’t know what a web browser is, or why they should upgrade, so please consider these users more than you consider your peers.

    2
  15. 15

    Ikram Hakimi, aww, you really sounded devastated there *giggles*

    Anyway, this is a very optimistic post. I enjoy reading it! I definitely agree on this line particularly, “..those differences don’t fundamentally break the websites. People can still use the websites and have a good experience..”

    0
  16. 16

    Ignoring the IE older than version 7 isn’t a very professional solution. The IE6 will be supported until 2014 and therefore I prefer solutions like the IE7.js. Smart and easy to implement.

    1
  17. 17

    Great article!

    I agree with James M.

    And showing messages to IE users will not help since a lot of theme can’t upgrade. It’s just annoying for the user.

    -1
  18. 18

    Very nice article.. I have great respect for smashingmagazine.com… you guys are the best! (I like that you are found of wordpress :P )

    0
  19. 19

    IE6 is still part of the webworld. So unfortunately we have to support this oldie. Even if we have to waste up to one day for the hacks sometimes.

    I think it’s a good idea to advise the end users to upgrade their browsers, but many of them do not have the permissions to install programs on their computers ’cause they work for a greedy company who will not pay money to someone upgrading all their browsers.

    0
  20. 20

    if people would stop bending over backwards for IE6 the problem would just go away.

    i understand why people are pigeonholed into an IE6 environment, but why do i have to suffer because of someone else’s shitty planning and shortcutting? why am i putting in hours of extra work and stress because someone else was too bad/cheap to do things properly?

    if people would just stop getting pushed around by this problem it would go away pretty fast. yes, it’s expensive and time consuming to redo any enterprise software that’s reliant on IE6, but the company did that to themselves. they should deal with it, not me.

    you want to be cutting edge? get involved with technology that will let you. want to stay with ie6? you get work of 2001 calibre to go with it.

    1
  21. 21

    How many times has the “we must support IE6 because it’s still heavily used” vs “support is holding web development back” debate get thrashed out in in forums and comments across the Blogosphere…yawn…

    That universal stylesheet looks a bit extreme to me. A good reset, a few extra rules to sort out the double margin bug, spacing between lists, etc, served up with conditional comments, DD_belatedPNG, and you’re pretty much done.

    It’s not that hard to offer support for IE6. And it will eventually die, whether we pander to it or not.

    0
  22. 22
  23. 23

    nice post. Unfortunately ie6 is still alive and very much in use in india.

    -1
  24. 24

    Great article! I’m a huge fan of progressive enhancement and this explains what it’s all about and that websites don’t need to look the same in every browser.

    The problem of course is always clients. I try to use the universal IE6 stylesheet along with a polite upgrade notice wherever I can :)

    0
  25. 25

    “other troubling browsers” = IE7 and IE8

    -1
  26. 26

    As a Firefox user I viewed this posting then sent the link to a mate of mine in the office (where IE6 is our default browser and anything else is probably a sackable offence) who immediately responded that the article renders incorrectly in IE6 – I assumed he was kidding so I tried it (IETab in Firefox and natively) and oh the irony… it doesn’t render correctly!

    So unless there is something nasty happening between your servers and the content landing inside IE6 on my machine I’d say this is a bit of a mistook, albeit a deliciously amusing one…

    It is a great article though… seems to me that all the while site designers and builders are planning to support a browser that’s known not to play nicely with the world then said browser won’t be replaced by users and Microsoft will have little or no incentive to fix it…

    my two pennies (for what they are worth) is that a web site should be designed and built to the requirements of the owner and it’s intended purpose… if that means using features/functions only available in a particular standard then that’s what it should use and if an elegant (and low impact to the owner/builder) solution can be found to either degrading or advising the punter that their browser isn’t supported (or has restricted functionality) then go for it…

    If IE6 users who quite probably don’t know they can use a different browser (we were all in that situation once remember!) start to have a degraded experience then their motivation to ask questions and possibly seek out alternatives will increase…

    I would therefore argue that as site designers and builders we have a responsibility to meet the requirements of those paying our bills and where possible to educate and support the general web-surfing public with easy-to-understand guidance and assistance to help them get the best from the web…

    Robert.

    0
  27. 27

    I wish people would let go of the idea of a seperate IE only stylehseet. This makes managing your CSS much more complicated as when you need to make changes you need to make them in two different places.

    A much better approach would be to put a wrapper div for each version of IE in special conditional tags so you can manage your CSS in one stylesheet. Details about that here: http://www.russellheimlich.com/frontend-tips/less-fussy-ie-conditionals.htm

    Also don’t forget the period and underscore hack to deliver IE only styles.

    0
  28. 28

    Very important post, thank you! It made me to re-view my attitude to IE, to be honest in my last project instead of normal CSS sheet for IE I simply added additional CSS for IE6 with not more than display:none for the whole content, so lazy I was! IE6 users see only white space on their screens and probably are sure that something wrong either with their computer or with this website… I will re-write IE CSS sheet, your post makes me do it immediately, thank you for this!

    0
  29. 29

    Regarding the nasty grey background on transparent PNGs in IE6. Please be aware that you can set that background color to whatever is appropriate for your design using tools like tweakpng and GIMP. Sometimes that is enough.

    If anyone knows how to set the PNG background color with Photoshop please let me know! Seems like the option must be in there somewhere.

    0
  30. 30

    This is a really excellent article, so thanks for that Inayaili.

    I think also that a lot of people overdesign and overthink this stuff when they could deliver content in such a way that it’s attractive and makes sense in all browsers, including Lynx. Progressive enhancement is the smartest approach, and allows even the dreaded IE6 to present something worth seeing and reading.

    If we keep in mind the “three layers” and maintain good semantic structure, a lot of browser quirks take care of themselves. On the other hand, we’re going to suffer if precise rendering in all browsers becomes too important to us; that isn’t possible, and isn’t worth getting stressed about.

    0
  31. 31

    Wonderful article, thanks!

    Just a note: @font-face *is* supported by Opera (10), but not by Chrome (yet, it should be soon, currently is activated in 3+ manually with a switch: –enable-remote-fonts).

    0
  32. 32

    For my rounded corners i use:

    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    -khtml-border-radius: 5px;
    border-radius: 5px;

    Seems to work in Safari, FF and IE8 without problems. Hard to live without IE7 support tho.

    0
  33. 33

    “Font-face
    ……….
    Which browsers don’t support this? Only Opera.”

    Opera doesn’t support “font-face” or font-stack? WTF are you saying? Use Opera 10. haven’t expected such an incompetence from SM.

    0
  34. 34

    Correction: Opera 10 supports @font-face just fine.

    edit: ha, looks like a couple of people got in there before me…

    0
  35. 35

    best post in ages. back on form! (don’t read anything negative into that though)

    0
  36. 36

    I agree…
    I didn’t know something like IE-7.js existed…
    don’t think the “JS support”-issue is a drawback, since IE 6 users probably don’t know there’s a way to disable JS anyway…

    0
  37. 37

    Oh dear, you are all right (re @font-face). This is what happens when you write an article over the course of a few months :(

    I’ll make sure that mistake is updated promptly.

    Thanks for reading!

    0
  38. 38

    Okay, fixed now! :)

    0
  39. 39

    If you’re careful when you build, the alternate stylesheet for IE6 isn’t terribly inconvenient. We build a lot of sites that need to be IE6 compliant, since most of our clients happen to have IE6 on every frickin’ machine in their building. That said, I can’t wait for it to explode in a glorious cloud of fire. I’m sick and tired of making minor tweaks to get the nav lined up in exactly the same position in all browsers because the designer can’t accept a two pixel difference.

    When you’re talking about @font-face, it’s not supported by Chrome either. Not sure why, since technically it uses webkit. If anyone does know, or has heard of a workaround, it would be much appreciated.

    0
  40. 40

    Exxxcellent article!

    I cannot wait until 75% + of internet users use something other than IE.
    Maybe we could all pitch in and hire some celebrities to dis it publicly.
    Snoop Dogg would be good: ‘Firefox is the shizzle, Chrome is off the hizzle and Explorer can suck my dizzle …’

    0
  41. 41

    That’s not a particularly useful way of converting users into customers though is it! People have a choice over which browser they use, in some cases they don’t. I think it’s important to educate and recommend a better user experience but to deny access because of their choice of browser is unprofessional and not very ‘open’ in the spirit of the web now is it!

    1
  42. 42

    It’s often done to validate CSS as most of the hacks are within embedded IE style sheets.

    Really not that difficult to maintain if the main style sheet has been created well in the first place!

    0
  43. 43

    Or you could use a bit JavaScript like DD Roundies or a host of other JS files to get rounded corners in most versions of IE

    0
  44. 44

    If they use IE6, I don’t want ’em.

    0
  45. 45
  46. 46

    So is cholera and poverty. What’s your point?

    0
  47. 47

    As several others have commented here – a large number of big companies are yet to upgrade from IE6. When you build websites targeting businesses, there really is no other option than to bear the headache and build in support for IE6.

    0
  48. 48

    Don’t forget jReject plug-in for jQuery: http://jreject.turnwheel.com/
    And its modification by GetBrowsers.com: http://getbrowsers.com/tools/j-reject/

    0
  49. 49

    A lot of people using IE 6 don’t have a choice so maintaining support is generally a good idea. There are sadly a lot of companies that think that sticking with IE 6 will make things easier and, ironically, safer. It isn’t true, but often the employees who are aware that the browser should be upgraded or changed aren’t in the position to install the upgrade.

    0
  50. 50

    Nice reading Yaili …. Good article…

    0

↑ Back to top