Один Файл CSS или отдельные файлы CSS для каждой страницы?

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

var sHeader = object.data.header.toString();
var sContent = object.data.content.toString();
var sFooter = object.data.footer.toString();

тогда Вы могли утверждать, что with улучшит удобочитаемость кода путем выполнения этого:

var sHeader = null, sContent = null, sFooter = null;
with(object.data) {
    sHeader = header.toString();
    sContent = content.toString();
    sFooter = content.toString();
}

С другой стороны, можно было утверждать, что Вы нарушаете Закон Demeter, но, с другой стороны, возможно, нет. Я отступаю =).

Прежде всего остального, знайте, что Douglas Crockford рекомендует не использование with. Я убеждаю Вас проверить его сообщение в блоге относительно with и его альтернативы здесь .

30
задан JCHASE11 16 December 2018 в 22:56
поделиться

6 ответов

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

Чтобы помочь, я обычно вставляю свой CSS через ] Очиститель CSS , чтобы уменьшить размер файла, кроме того, вы можете GZip CSS, используя .htaccess , что снова уменьшит его размер.

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

Edit, May 2017

Многое изменилось за 7+ лет, и любой, кто смотрит на в этом ответе следует рассмотреть возможность исследования новых методов доставки ресурсов, особенно теперь, когда использование HTTP2 и препроцессоров стало более обычным явлением.

47
ответ дан 27 November 2019 в 23:33
поделиться

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

8
ответ дан 27 November 2019 в 23:33
поделиться

The main purpose of the style sheet is to allow you to alter the design across all your pages. If you have h1 {color:red;} on each page and later want to change it to blue you would have to edit each page's style sheet. With one style sheet you would be able to change the color and have that reflected over the entire site.

Plus the style sheet will be cached on the user's computer rather than downloaded from each page.

4
ответ дан 27 November 2019 в 23:33
поделиться

If you want to have a consistent style across all pages in your website, use one stylesheet for all of the common styles. Otherwise, you may find it quite difficult to maintain many stylesheets. Changes would have to be added to every one of multiple stylesheets.

Stylesheets that are used only on a single page could go in separate stylesheets. This might be most useful for large single-page stylesheets and/or stylesheets for infrequently-accessed web pages.

Your stylesheets will not be reloaded on every page refresh. If you reference the large, general-purpose stylesheet on your home page, it will only be downloaded once, and cached for future use.

4
ответ дан 27 November 2019 в 23:33
поделиться

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

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

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

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

2
ответ дан 27 November 2019 в 23:33
поделиться

Since I'm actually an actual web programmer (Java's web programming stuff, not scripting such as PHP) I have to give you an opinion I've never seen any actual web designer give:

Please go ahead and split your CSS files to multiple, logical partitions wherever possible! If you have a hugely stylized table, collect its CSS stuff to one file, also collect the base stylings of the actual page to another file, add those menu navigation CSS:s to third one and so on and so forth. You can of course reuse individual CSS:s where they're relevant but DO NOT just cram everything into one big file!

1
ответ дан 27 November 2019 в 23:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: