Персональные CSS-хаки для Internet Explorer, Opera, FireFox, Safari, Google Chrome

Я не сторонник условных комментариев в CSS (можно ругать меня за это), взамен предпочитаю использовать различные CSS-хаки, дабы при верстке решить проблему кроссбраузерности по ходу написания кода, без лишний "телодвижений". Да, это неправильно с точки зрения стандартов и некрасиво, но таким способом для меня гораздо ...

Комментарии (114)

  1. Люблю такие подборки, тенкс! :)

  2. Пожалуйста, sonika ;)

  3. Блин, о чём вы говорите? Зачем извиняетесь?

    Я понимаю, когда предлагают уродовать код собственно документа ради того, чтобы просто заработало. Но уродовать документ ради того, чтобы CSS проходил валидацию… Таким неадекватам нужно советовать верстать в таблицах.

  4. Полезные данные. Кстати, код

    .style, x:-moz-any-link {
    background: #FA0;
    }

    Safari тоже понимает. А нельзя ли хакнуть Firefox, чтобы это не затронуло Safari, или может под Safari есть отдельные хаки?

  5. Николай, в данном случае распознавание зависит от версии Сафари. У меня стоит Safari Win/3.0.2(522.13.1) и она не понимает этот код.

    Все хаки для FF, которые известны мне, находятся в этой статье. Для Сафари тоже есть свои, нужно искать.

  6. В CSS-хаках, как Вы их называете, нет ничего плохого. Вообще то они называются трюками.

    Трюком я называю использование CSS не так, как это описывается в спецификациях. Трюки используются для включения или скрытия CSS от определенных браузеров. Зачастую трюки применяются для обхождения дефектов Internet Explorer.

    Трюк с обратной косой чертой…

    Если мы напишем комментарий с обратной косой чертой перед закрывающей звездочкой:
    Код:

    /* комментарий \*/

    Internet Explorer для Mac посчитает, что комментарий не закрыт, и воспримет весь последующий код как комментарий, до тех пор пока не встретит обычное закрытие комментария, состоящее из звездочки и косой черты.

    Например:
    Код:

    /*трюк для IE Win  \*/
    * html div#menunav  ul {
       border-top: 2px solid #800000;
    }
    /* конец трюка*/

    Здесь IE/Mac игнорирует строку с селектором * html. Таким образом, мы можем комбинировать трюки со звездочкой и обратной косой чертой, чтобы создать правило только для Internet Explorer для Windows.

  7. спасибо!

  8. Спасибо, пригодилось очень.

  9. Работы этого хака зависит еще от объявленного типа документа, т.е. не всегда работает.

  10. sameleh, на Strict и Transitional, я думаю, должно работать, а это самые часто используемые типы документов при дивовой верстке.

  11. .style, x:-moz-any-link {
    background: #FA0;
    }

    IE7 это тоже понимает. Но можно тут же написать
    // background: что было до этого

  12. Да, действительно понимает. Спасибо, что сообщили. Не знаю, почему я это упустил.

  13. Хаки это конечно хорошо, но злоупотреблять ими не стоит.

  14. Огромное спаибо за хак для Opera, очень долго искал =)

  15. Всё время думаю, а зачем людям под оперу хаки писать, у меня как правило FF Opera и Safari показывают одно и тоже, для IE7 пару лишних строчек ( в основном чекбоксы подправляю, и ещё какието мелочи) и куча под IE6. Мне кажется, что если придерживаться стандартам, то и хаки для оперы не нужны будут.

  16. Jman, согласен с вами. Я сам использовал хак для Оперы несколько раз всего, по-моему для кнопки сабмита. Текст в ней, почему-то, во всех браузерах по-разному выровнен по вертикали.

  17. Такое было в старых версиях оперы… у меня сабмит опера смещала так как ей хотелось, IE6 и IE7 тоже по своему,только фаирфокс радовал… но решал просто — position:relative; и подгонял так, чтобы смотрелось во всех более менее нормально. С текстом в кнопках вроде проблем у меня не было. Вообще новые версии браузеров радуют поддержкой стандартов, сейчас стало верстать гораздо легче, как правило уже достаточно 3 браузеров, из них два от «любимой корпорации».

    PS: I have a dream! Чтобы по всему миру ИЕ6 взял как-нибуть и молча обновился до 7. Может к Крису Касперски обратится, чтоб он вирус написал, который будет Ие6 обновлять.

  18. С текстом в кнопках вроде проблем у меня не было.

    Меня в этом плане не радует FireFox. У него почему-то всегда текст в кнопке ниже на пару пикселей, чем в Опере и ИЕ.

    PS: I have a dream! Чтобы по всему миру ИЕ6 взял как-нибуть и молча обновился до 7. Может к Крису Касперски обратится, чтоб он вирус написал, который будет Ие6 обновлять.

    Тоже об этом мечтаю :)

  19. html:root .style {
    background: #FA0;
    }

    понимает также Опера 9.52, а не толко FF и safari

  20. slider, на момент написания статьи этой версии Оперы еще не было. В общем, придется убирать этот хак, т.к. он уже совсем не персональный.

Ваш комментарий