Emulating border-color: transparent in Internet Explorer 6

HTML5, CSS3 and JavaScript

The Fine Art of Web Development by Martin Ivanov

Fortunately, Internet Explorer 7 supports border-color: transparent, but still, there are hardcore IE6 users and it seems that they will never update their browsers.

This post is targetted to the developers that care and dare to make their websites crossbrowser.

Thanks to a less known Interner Explorer CSS filter, the transparent border in Internet Explorer 6 can be easily achieved. Consider the following lines of CSS code:

.testDiv
{
width: 200px;
height: 200px;
border: solid 10px transparent;
}

It works correctly under Internet Explorer 7, FireFox, Opera and Safari, while Internet Explorer displays a solid black border around .testDiv. To put it to work with IE6, we will create another rule, that is visible only in version 6 (the *html hack) with just two lines of code:

*html .testDiv
{
border-color: pink;
filter: chroma(color=pink);
}

… And voila! The ugly black border around .testDiv magically disappears.

The final things you should have in mind before using this trick is the color (both border and chroma color) in the hack. Make sure you apply a border-color (and respectively use it in the chroma filter) that is not used in that div, as the chroma filter displays a certain color of the object and its content as transparent, i.e. if the border-color in the hack is orange, and the text in your element is orange as well, it will disappear when the orange chroma filter is applied.

Categories and Tags
Links

© 2006 - 2023 Martin Ivanov