Pull to refresh

Opera 10.50 и CSS-хаки

Reading time2 min
Views3.3K
Opera 10.50 стала поддерживать border-radius и много других интересных вещей, в этой связи встал вопрос — как отличить Opera 10.50 от более ранних версий в CSS?

Например, у меня на сайте скруглённые уголки для «Оперы», начиная с версии 9.50 делаются при помощи SVG, 10.50 вполне могла бы нарисовать их без этого «изыска». Помучался-помучался и придумал несколько CSS-хаков, собственного изобретения.
  1. @media (0) {
  2.     body { background: red; } /* Opera 10.xx, но < 10.50 */
  3. }
  4.  
  5. @media all and (resolution = 0dpi) {
  6.     body { background: red; } /* Opera < 10.50, минимальной версии не знаю, 9.27 работает */
  7. }
  8.  
  9. @media all, () {
  10.     body { background: red; } /* Opera 10.xx (включая 10.50) */
  11. }
  12.  
  13. @media all, {
  14.     body { background: red; } /* Opera 10.50 prealpha */
  15. }
Нужно понимать, что хаки сделаны исключительно для того, чтобы отличить одну версию «Оперы» от другой и могут сработать в других браузерах, так что лучше подстраховаться и добавить в стили какой-нибудь хак, чтобы отличать «Оперу» от всего остального.

Я не знаю минимальной версии при которой срабатывает хак №2, но подозреваю, что будет работать где-то начиная с 7-й версии.

Все хаки я испытывал на «Операх» 10.50 prealpha, 10.10, 10.01, 9.50 и 9.27. Надеюсь, баг 10.50 не исправят и хак будет работать и дальше (pepelsbey, пожалуйста, молчи!:).
Tags:
Hubs:
+25
Comments80

Articles