CSS hack для Opera 10.50, 10.xx, не 10.50
«Опера» 10.50 стала поддерживать
Например, у меня на сайте скруглённые уголки для «Оперы», начиная с версии 9.50 делаются при помощи SVG, 10.50 вполне могла бы нарисовать их без этого «изыска».
<style type="text/css">
@media (0) {
body { background: red; } /* Opera 10.xx, но < 10.50 */
}
@media all and (resolution = 0dpi) {
body { background: red; } /* Opera < 10.50, минимальной версии не знаю, 9.27 работает */
}
@media all, () {
body { background: red; } /* Opera 10.xx (включая 10.50) */
}
@media all, {
body { background: red; } /* Opera 10.50 prealpha */
}
</style>Нужно понимать, что хаки сделаны исключительно для того, чтобы отличить одну версию «Оперы» от другой и могут сработать в других браузерах, так что лучше подстраховаться и добавить в стили
Я не знаю минимальной версии при которой срабатывает хак №2, но подозреваю, что будет работать
Все хаки я испытывал на «Операх» 10.50 prealpha, 10.10, 10.01, 9.50 и 9.27. Надеюсь, баг 10.50 не исправят и хак будет работать и дальше (pepelsbey, пожалуйста, молчи!:).
Добавлено 25 декабря 2009 10:38: проснувшись утром, я обнаружил, что умудрился ночью запостить этот текст два раза. Решил удалить один из них и удалил тот, что с комментариями. Простите, это утро :(
Комментарии 16
Кстати, Жень, а как ты вообще эти хаки находил?
Подбором :)
Трудно сказать. Интуиция.
Bolk — настоящий хакер. Когда он находит разные дыры в нашем ПО, я поражаюсь, как у него мышление устроено, что до таких вещей додуматься можно.
@media all and (-webkit-min-device-pixel-ratio:10000),not all and (-webkit-min-device-pixel-ratio:0){.name{style:value;}} /* Стиль для Opera */
А Safari/Chrome на нём не срабатывает? Для «Оперы» 10.50 и выше есть другой хорошийCSS-хак ( /all/1786 ):
noindex:-o-prefocus, .name { attr: value }
И вообще, ваша фраза звучит как «вы потратили недостаточно усилий, чтобы сделать меня счастливым». Я вам ничего не должен.