Internet Explorer 6 has many problems especially when it comes to CSS. When I'm developing a Website I tend to test mainly in Mozilla's Firefox browser because of it's wonderful plug-in Firebug which helps me to quickly and easily identify problem areas in my page layouts. After I get the site looking right in Firefox I normally test in IE8, then IE7, Google Chrome, Safari & Firefox on the Mac OS, and finally on IE6. I always save IE6 for last because It renders pages completely different than all other browsers and normally requires a considerable amount of CSS modification.
The problem is that it is an old version of the browser (Launched 2001) and still has somewhere around 25% of the browser market share. Since so many users still use IE 6 we, as Web developers, still have to take the time to make sure that those 25% of internet users can view our sites as intended.
One of the more popular CSS Selectors available in all major browsers accept IE 6 is the "Child Selector." This allows us to select all items that are direct children of their parents and ignores all of it's children's children elements. This selector is denoted with the greater than (>) symbol:
div > * {padding-left: 10px}
This is great and very powerful, but how do we handle child selectors in IE6? There is a simple method albeit not a straight across solution, but for IE6 you can declare that all child elements recieve the style properties and then for all grand children elements remove those styles:
div > * {padding-left: 10px}
div > * * {padding-left: 0px}
And there you have it, although it's not perfect, but neither is IE6.