Сегодня наткнулся на это, и долго не мог понять в чём дело. Дело в том, что IE6 не матчит селектор id.class больше одного, но в то же время матчит дочерние селекторы через такие объявления.

Картинка:
image

Живой пример

Вот как так?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="ru">
    <head>
        <meta http-equiv="content-type" content="text/html;charset=utf-8">
        <title>Ie bg test</title>
        <style type="text/css">
            #testbg {
                width:200px;
                height:200px;
                }

            #testbg.blue { /* это правило работает в IE */
                background:blue;
                }

            #testbg.red { /* это не работает, но если его поместить выше первого - сработает :D */
                background:red;
                }

            #testbg.green { /* это тоже не работает, но если его поместить выше первого - сработает :D */
                background:green;
                }
            
            #testbg.red p {
                color:blue;
                }

        </style>
    </head>
    <body>
        <div id="testbg" class="red">
            <p>
                IE6 нам, как бы, намекает,что красного фона не будет. Тем не менее , цвет текста этого параграфа синий :D
            </p>
        </div>
    </body>
</html>


* This source code was highlighted with Source Code Highlighter.