Broadly speaking, there are three methods for bringing Internet Explorer 6 – 8 up to speed with modern web standards:
Replace the rendering engine in IE with something better, such as ChromeFrame, that understands both CSS3 and HTML5. (It can be difficult to convince clients and visitors to a site to do this, however).
If your page is written in HTML, try to work in IE-equivalents to CSS by using -ms-
vendor prefix selectors for IE9, and / or work in older Microsoft proprietary equivalents to transforms and gradients, into the CSS.
"Shim" the web page with JavaScript that will allow IE6 – 8 to understand CSS2 & 3 selectors, properties and values.
If you choose to take the second option, I would suggest using a transform translator to generate CSS for IE 6 – 8, and using ColorZilla to do the same process for gradients.
If you take the last option, there are a number of possible solutions. Previously, I've discussed using JavaScript to make IE aware of HTML5. Some of those scripts can also make IE CSS3-aware; what follows are exclusively CSS3 solutions for IE written in JavaScript.
CSS3Pie enables IE support of border-radius, box-shadow, border-image, multiple background images, and linear gradients. Uses the values of CSS written for other browsers (such as Mozilla and Webkit) to generate values for IE.
- cssSandpaper is a framework to support CSS3 2D Transformations in IE:
rotate
,skew
andscale
, along with linear gradients and box-shadow. Uses a shortcut system with its own prefix (-sand
) to generate appropriate CSS for all browsers. eCCStender supports CSS3 selectors, @font-face, CSS3 backgrounds, borders and colors, transitions and transforms in IE 6 – 8, via a series of extensions.
Selectivizr is a tool that allows IE 6 - 9 to understand and use CSS3 selectors such as
:first-child
and::first-letter
.
Enjoy this piece? I invite you to follow me at twitter.com/dudleystorey to learn more.