Я совсем не являюсь сторонником CSS хаков, даже вернее будет сказать являюсь противником их использования при верстке или внесении изменений в темы и шаблоны, поскольку в отличие от некоторых любителей CSS хаков, считаю что верстать надо правильно сразу с самого начала, без лишнего «выпендрежа» и простым семантически верным кодом, не забывая конечно и про правильный DOCTYPE, тогда необходимость в хаках отпадет сама собой.
Единственно где я считаю их применение может быть оправдано так это при варианте когда вы вносите изменения в чужой код не вами сверстанной и очень большой и сложной темы. Я в последнее время совсем перестал пользоваться хаками, ибо если твою верстку не понимают современные браузеры то значит это не твое и тебе лучше не стоит ей заниматься.
Да бывают и у меня проблемы, но в основном с IE6 и IE7 (их любителям предлагаю скачать бесплатно internet explorer 8, хотя бы), все никак не соберусь перестать их в поддерживать своих темах, хотя знаю многие уже на это решились, а их пользователям при входе на сайт выводят надпись с просьбой обновить браузер.
Ну ладно хватит лирики пора бы мне уже выложить и свою подборку хаков, которые у меня уже немного запылились, но возможно кому-нибудь пригодятся:
Хаки IE (Internet Explorer):
Хак для IE 5.5 — Не думаю что этот браузер стоит поддерживать, но а если вдруг все-таки понадобится:
.ie55 {color:red}
Хак для IE 6: — Любой из двух:
* html .ie6 {color:red;display:default}
_ie6 {color:red;}
Хак для IE 7
*+html .ie7 {color:red}
*:first-child+html .ie7 {color:red}
html>body .ie7 {color:red}
Хак для IE 8
html[xmlns*=""] .ie8 {color:red9;]display:default}
@media screen .ie8 {color:red}
Хак для IE 9 — Хотя с удовольствием оборвал бы руки тому верстальщику чья верстка разъезжается даже в девятке, но вот держите:
:root .ie9 {color:red}
Хак для IE 10 — А нуждающихся в этом хаке вынужден огорчить: он вам не помог бы даже если бы был…
Хаки Opera:
Один из этих двух хаков можно использовать для Оперы:
*|html[xmlns*=""] .opera {color:red}
@media all and (-webkit-min-device-pixel-ratio:10000),
not all and (-webkit-min-device-pixel-ratio:0) .opera {color:red}
Хаки Safari:
Если у вас возникнет нужда в хаке для браузера Сафари, один из следующих думаю вас спасет:
.safari:not(:root:root) {color:red}
Этот работает для версий меньше 4*
body:last-child:not(:root:root) .safari {color:red}
Хаки для Google Chrome:
Это уже даже не смешно, но на всякий вот он Хак для Chrome:
@media screen and (-webkit-min-device-pixel-ratio:0){.chrome {color:red}.chrome:not(:root:root){color:red}}
Какому CSS хаку вы отдадите предпочтение это дело ваше, единственно хочу напомнить что их работа во многом зависит от типа HTML документа (doctype) который вы декларируете в самом начале страницы.
Приведу небольшой примерчик работы этих хаков, под этими строками вы должны увидеть тип своего браузера определенный с их помощью и небольшого CSS трюка:
Не совсем уверен что будут правильно определены абсолютно все версии браузеров, но это ведь лишь небольшой пример их работы (я использовал только по одному варианту хака для каждого браузера).
Читайте также:
- Кроссбраузерный text-shadow эффект с помощью CSS
- Самостоятельное создание логотипа для сайта онлайн
- Скрипт всплывающего сбоку окна с рекламой или сообщением
- Секреты дивовой верстки без хаков
- Сочетаемые и несочетаемые цвета в одежде, интерьере и дизайне сайтов
- Оптимизация изображений (картинок и фотографий) сайта
- Возможности и недостатки разметки HTML5 для создания web сайтов
- Дизайн который надеюсь понравится Google и Яндексу
- Выделение текста в Skype и теги HTML в чате Скайпа
- Ссылки из футера опасны для разработчиков шаблонов WordPress