Таблицы стилей, совместимые с IE 9 - PullRequest
1 голос
/ 14 апреля 2011

Я привык к таблицам стилей, которые имеют отдельные правила для браузеров IE и не IE. Например, я использовал CSS3 Pie для создания закругленных углов и градиентов в IE.

Проблема в том, что IE 9 поддерживает закругленные углы и градиенты , и больше не нуждается в таких обходных решениях. Как я могу переписать свою таблицу стилей, чтобы гарантировать, что поведение применимо только к IE 8-, а не к IE 9?

Спасибо!

Редактировать: вот пример с сайта CSS3 Pie, где правила избыточны для IE 9: http://css3pie.com/demos/tabs/

Ответы [ 3 ]

5 голосов
/ 14 апреля 2011

Обычный подход заключается в использовании условных комментариев и отдельной таблицы стилей патча для каждой его версии:

<!--[if IE 7]><style type="text/css">@import "ie7-kludges.css";</style><![endif]-->
<!--[if IE 8]><style type="text/css">@import "ie8-kludges.css";</style><![endif]-->
<!--[if IE 9]><style type="text/css">@import "ie9-kludges.css";</style><![endif]-->

Таким образом, вы можете использовать стандартный CSS в своей основной таблице стилей, а затемслой на любой kludges и ерунду, вы должны заставить каждую версию IE вести себя самостоятельно.Каждой версии IE обычно нужны разные ключи, поэтому я помещаю их в разные таблицы стилей.

1 голос
/ 14 апреля 2011

Трудно сказать, как что-то переписать, если мы не видим оригинал. В общем, обычная лучшая практика для работы с IE - использовать условные комментарии IE в той или иной форме. Обычно я с помощью указанных комментариев записываю тег body с классом, соответствующим конкретной версии IE. Итак, для IE7 я могу закончить с этим:

<body class="ie7">

Таким образом, в моем CSS я могу использовать специфичность, чтобы дать ie7 свой собственный стиль, не прибегая к хаки и не управляя стилями в нескольких файлах CSS.

.something {...style for good browsers...}
.ie7 .something {...fix IE 7 here...}
1 голос
/ 14 апреля 2011
...