Можно ли использовать разные CSS-файлы для разных браузеров и загружать их соответствующим образом? - PullRequest
1 голос
/ 29 июня 2010

Я избавляюсь от проблем совместимости браузера.

, поэтому мне пришла в голову идея загрузить единственный CSS в соответствии с браузером.

Так что, если пользователь использует IE, то только styleIE.cssзагружаться, если загружается firefox styleFF и т. д.

Мой вопрос - правильный ли это метод, если не то, что нужно предпринять, чтобы избежать проблем с совместимостью?потому что, когда я решаю проблемы для IE, он открывает новую проблему в моей стабильной версии FF

Ответы [ 6 ]

5 голосов
/ 29 июня 2010

Это часто делается, хотя вы, вероятно, захотите использовать общий файл CSS с общими стилями и объединить его с зависимым от браузера файлом CSS.

Но на самом деле большинство проблем CSS с различными браузерами можно решить безэтот трюк и просто используя правильную разметку и стили ...

3 голосов
/ 29 июня 2010

Обычно достаточно создать таблицу стилей, которая будет хорошо выглядеть в обычных браузерах, а затем создать дополнительную таблицу стилей только для IE, которая исправляет несовместимости и включает ее через условные комментарии (хотя IE8 + вроде бы в порядке, а IE7 обычно работает):

<!--[if IE]>
    <link rel="stylesheet" href="/ie_sheet.css" type="text/css">
<![endif]-->

Поскольку IE6 - ужасный монстр с незапамятных времен, для которого нужны свои особые хаки, вы можете включить другую таблицу стилей для IE6 (и ниже) и IE7 (и выше; в действительности не требуется большую часть времени):

<!--[if lte IE 6]>
    <link rel="stylesheet" href="/ie6_sheet.css" type="text/css">
<![endif]-->
<!--[if gt IE 6]>
    <link rel="stylesheet" href="/ie_newer_sheet.css" type="text/css">
<![endif]-->

Другие браузеры анализируют их как комментарии HTML и игнорируют их.

См. Также: более подробное обсуждение условных комментариев .

1 голос
/ 29 июня 2010

Я использую таблицу стилей сброса, обычную таблицу стилей (то есть для всех совместимых со стандартами браузеров), а затем специфичные для IE таблицы стилей, которые ссылаются на различные версии IE.Таблицы стилей IE охватывают только те элементы, с которыми у IE возникают проблемы.Я использую условные комментарии Microsoft для включения этих таблиц стилей, чтобы они не читались другими браузерами.

0 голосов
/ 29 июня 2010

Это не морально предосудительно, но на меньше идеального.
Вы можете решить проблемы кросс-браузерной совместимости, узнав немного больше о происходящем.

http://hsivonen.iki.fi/doctype/
http://validator.w3.org/
http://jigsaw.w3.org/css-validator/
http://www.positioniseverything.net/explorer.html

0 голосов
/ 29 июня 2010

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

Теперь вносить изменения в CSS, если у вас есть хотя бы 3 или 4 версии, будет немного больно, но у всего есть своя стоимость.

0 голосов
/ 29 июня 2010

Да, многие сайты делают именно это.

...