css хак для Opera 9.27 и Opera 9.5

Nov 20, 2008 16:16

Не будем углубляться в дскуссию насчет валидности css-хаков и правильности принципиального подхода применять хаки. Иногда просто надо. Позарез надо - и все

Так что как говорится гугль в помощь ;)

А в гугле на тему хаков ой как много всего... Причем восновном для ИЕ.
Тут 2 разных подхода: или скриптом определять броузер и загружать для него свои стили, или писать css-хаки в коде.

Оставим скрипт на этот раз в покое.

Итак, в процессе поиска хака для оперы, наткнулась на замечательный способ прописать в коде  и таки работает в Opera 9,27.
А вот Opera 9,5 и выше это демонстративно игнорирует...

Копаем дальше... И находим следующее:
@media all and (min-width:0px) {
     head~body #selector {
          /* styles */
     }
} Работает и в Opera 9.27, и в Opera 9.5

Но не все таг гладко, как хотелось бы. Открываем сафари (в котором все до хака было нормально), и видим ,что наш хак для оперы подействовал и там, в результате чего страница отображается не так, как нам хотелось.

Поэтому приходится применить хак для сафари.
Запись получим следующую:
body:last-child:not(:root:root) #selector {
     /* styles здесь нам необходимо переопределить стили, прописанные только что для оперы*/
}
Итого, чтоб применить хак для оперы, необходимо написать такие стили:
#selector {
     /*стили сайта для всех броузеров*/
}

@media all and (min-width:0px) {
     head~body #selector {
          /* переопределяем стили для Opera */
      }
}

body:last-child:not(:root:root) #selector {  
     /* переопределяем стили для Opera назад для Safari */
}
Раскопки велись тут , тут и тут

css хак для Opera 9.5, css, кодинг, хаки

Previous post Next post
Up