CSS на отдельном файле или нет?

FileInfo скрытые атрибуты могут быть несколько бесполезными, если в окнах пользователя настроено отображение скрытых файлов. Более целесообразно переместить файл на новый путь, особенно если пользователь на самом деле не ищет лайк C:\Program Files\Common Files или любой другой путь, который, по вашему мнению, может вызвать у пользователя меньший интерес, прежде чем скрывать файл.

10
задан pb2q 9 April 2013 в 22:17
поделиться

7 ответов

Если вы генерируете HTML динамически (скажем, из шаблонов), встраивание CSS позволяет вам также динамически генерировать CSS, используя тот же контекст (данные, состояние программы), что и при вы создаете HTML, вместо того, чтобы снова устанавливать тот же контекст при последующем запросе для генерации CSS.

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

  1. Перечислить все несколько сотен изображений в правилах в отдельном статическом файле CSS, затем сгенерировать соответствующее имя класса в своем динамическом HTML или
  2. Сгенерировать HTML с одним именем класса, а затем с последующим запросить создание CSS с правилом для этого имени, которое использует желаемое изображение, или
  3. Do (2), но сгенерировать CSS, встроенный в HTML, в одном запросе

(1) позволяет избежать повторения дорогостоящих вычислений состояния, но требует большего удара по трафику (больше пакетов для перемещения гораздо большего файла CSS). (2) Выполняет расчет состояния дважды, но обслуживает файл CSS меньшего размера. Только (3) выполняет вычисление состояния один раз и передает результат в виде одного HTTP-запроса.

1
ответ дан 3 December 2019 в 13:27
поделиться

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

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

1
ответ дан 3 December 2019 в 13:27
поделиться

Есть метод, который применяют Google и Yahoo, который выигрывает от встроенного CSS. Впервые посетители ради быстрой загрузки встраивают CSS (и даже JavaScript) в HTML, а затем в фоновом режиме загружают отдельные файлы CSS и JS для следующего раза.

Стив Содерс (Yahoo! ) пишет следующее:

[...] лучшим решением обычно является развернуть JavaScript и CSS как внешние файлы. Единственное исключение Я видел, где встраивание предпочтительнее с домашними страницами, такими как Yahoo! первая страница ( http://www.yahoo.com ) и Мой Yahoo! ( http://my.yahoo.com ). Домой страницы, на которых мало (возможно, только одна) просмотр страницы за сеанс может обнаружить, что встраивание JavaScript и CSS приводит к более быстрое время ответа конечного пользователя.

14
ответ дан 3 December 2019 в 13:27
поделиться

Я всегда использую и то, и другое.

  • общесайтовые стили находятся в отдельном файле ( minified & gzipped ),
  • любые стили для конкретной страницы помещаются в