Я всегда использую звездочку "взломать" специально для IE6, но для этого требуется, чтобы ваш браузер был в режиме , соответствующем стандартам (см. Ниже).
/* IE6 only */
* html .myClass {
width: 500px;
}
Мне это нравится, потому что он не основан на разборе несоответствий в браузерах и проверяется в соответствии с W3C .
Что касается режима соответствия стандартам, вы всегда должны добавлять действительный DOCTYPE на свои страницы, так как это приводит к уменьшению количества ошибок CSS и особенностей браузера. Чтобы узнать о режиме совместимости и стандартах, ознакомьтесь с этой статьей .
Вы можете использовать этот пример ниже, чтобы поиграться с выражениями в каждом браузере. Я протестировал его в FF, IE6 и IE7, и он работал как положено. Я только хотел бы, чтобы SO имел подсветку синтаксиса для распознавания CSS-выражений и пометки их как красных, чтобы вы могли напомнить, что они злые. Могу я спросить, почему вы решили использовать CSS-выражения? Многие люди пытаются использовать их для достижения минимальной ширины в IE6, но это не правильное решение. Если вы пытаетесь решить эту проблему, я написал ответ в отдельном вопросе , демонстрирующий правильное решение CSS для минимальной ширины в IE6.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<style type="text/css">
.ie6 {
display: none;
}
* html .ie6 {
display: expression("block");
}
* html .ie7 {
display: expression("none");
}
</style>
</head>
<body>
<div class="ie6">
This is IE6
</div>
<div class="ie7">
This is Firefox or IE7+
</div>
</body>
</html>