2010-02-27 2 views
-1

В этой статье предлагаяЛучше ли определять css для всех @media в одном файле css?

http://www.456bereastreet.com/archive/201002/css_efficiency_tip_use_a_single_stylesheet_file_for_multiple_media/

или иной внешний CSS для различных средств массовой информации было бы лучшим вариантом?

с точки зрения ремонтопригодности, производительности сайта.

+0

Несколько файлов css всегда будут снижать производительность вашего сайта. Объединение их уменьшает количество запросов HTTP. –

+0

@rockinthesixstring - но см. Ответ ник моего другого вопроса http://stackoverflow.com/questions/2083900/would-it-be-better-to-combine-print-css-with-main-css-or-using- another-css-file-f/2083911 # 2083911 –

+0

Какую технологию вы используете? Прямо вверх HTML, PHP, ASP.NET, Другое? –

ответ

0

Комбинированный таблица стилей Pros:

  • Оптимальное/Fast
  • Хорошее уменьшение размеров после сжатия
  • и да меньше HTTP-запросов

Комбинированный таблица стилей Минусы:

  • Перепутано; все разные таблицы стилей в одном месте
  • Трудно поддерживать
  • менее читаемым
+0

Оптимальное/быстрое = ложное. Извините, но несколько таблиц стилей не являются оптимальными или быстрыми. –

+0

@rockinthesixstring: я использовал неправильное слово «множественный», я имел в виду несколько листов сиротов, объединенных в один, см. Мой ответ снова plz :) – Sarfraz

+0

Голосов удален. –

0

В принципе, если вы можете программно добавить CSS файлы на клиенте на основе информации (до тех пор, как вы отправляете только ОДИН файл CSS в конце), то да, создайте несколько файлов CSS на основе @media.

Если вы не можете добавить css программно, то я бы предложил объединить их в один файл css (так как вы должны отправить их всем клиенту независимо), тем самым уменьшив количество HTTP-запросов клиентом.

меньше HTTP-запросов = более быстрая загрузка страниц.

+0

, но тогда основной css будет тяжелым для пользователей с медиа = «экран», которые являются основными пользователями, которых очень мало кто возьмет на себя процент печатных и мобильных пользователей. –

0

Вы можете использовать медиа-зависимые правила @import так:

@import url("print.css") print; 
@import url("projection.css") projection, tv; 

он должен работать во всем, кроме IE5-7 (в соответствии с: http://www.westciv.com/wiki/CSS_Guide:_Media#mediaspecific) я не могу проверить на IE8, так что вы могли бы быть разочарован там тоже.

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