Нет сайтов, о которых я знаю, на самом деле вручную сохраняются разные версии большого файла CSS для каждого браузера. Обычно они просто сохраняют основную таблицу стилей и вложенные таблицы стилей, как в первом случае, но объединяют их вместе, используя сценарий, в статический файл. Сохранение другой копии всех стилей CSS для каждого браузера просто не стоит проблем.
Оба указанных вами способа действительны и имеют свои преимущества:
Основная таблица стилей с подстилами для каждого браузера: Этот метод прост и работает нормально.
- Pro: вам не нужно иметь скрипт для объединения специфичных для браузера таблиц стилей с основной таблицей стилей, прежде чем они будут отображаться пользователю.
- Con: требуется загрузить больше страниц, и это может быть немного медленнее; Приоритет CSS Проблемы могут быть сложнее отлаживать, поскольку CSS распространяется на несколько страниц
Объединенная основная таблица стилей и таблицы стилей для конкретного браузера: Этот метод идеально подходит для больших (и я имею в виду больших ) сайтов, которые имеют много запросов: ( например, Yahoo, который имеет этот файл CSS, который принимает строку запроса для объединения файлов CSS); плюсы и минусы в основном обратное.
Я рекомендую вам просто выбрать первое решение, если ваш сайт не очень большой; при обнаружении PHP и браузера на стороне сервера код может выглядеть следующим образом:
echo "<link rel='stylesheet' type='text/css' href='/css/main.css' />\n";
$browser = get_browser(null, true);
$browser = $browser['browser'];
if ($browser == 'Firefox') {
echo "<link rel='stylesheet' type='text/css' href='/css/firefox.css' />\n";
} elseif ($browser == 'Internet Explorer') {
...
Обратите внимание, что лучше всего, если ваш дизайн вообще не требует специфичного для браузера CSS. В большинстве случаев это не является необходимым и вызвано плохим пониманием атрибутов CSS. Чтобы исправить незначительные несоответствия браузера по умолчанию, библиотека CSS, такая как YUI reset , может быть очень полезна.