Если вы используете серверный язык, почему бы не встроить CSS и использовать условное программирование для отображения его по мере необходимости? Например, предположим, что вы используете PHP с Wordpress и вам нужен CSS для определенной домашней страницы; Вы можете использовать функцию is_home (), чтобы показать свой CSS в заголовке документа только для этой страницы. Лично у меня есть своя собственная система шаблонов, которая работает так:
inc.header.php = все содержимое заголовка, и куда я могу добавить CSS для конкретной страницы:
if(isset($CSS)) echo $CSS;
Затем в конкретном шаблоне страницы (скажем, about.php) я бы использовал переменную heredoc для CSS, специфичного для страницы, над строкой, содержащей заголовок:
Содержание about.php:
<?php
$CSS = <<< CSS
.about-us-photo-box{
/* CSS code */
}
.about-us-something-else{
/* more CSS code */
}
CSS;
include "inc.header.php"; // this file includes if(isset($CSS)) echo $CSS; where page-specific CSS would go ...
<body>
<!-- about us html -->
include "inc.footer.php";
?>
Есть ли что-то, чего мне не хватает, что делает этот подход хуже?
Плюсы:
1) Я все еще могу кэшировать страницу, используя стандартные методы кэширования (есть ли метод кэширования, который использует преимущества только внешнего CSS-файла ??).
2) Я могу использовать php для условного форматирования в особых случаях в определенных объявлениях классов, если это абсолютно необходимо (PHP не работает в файле CSS, если я не пропустил какую-либо серверную директиву, которую я мог бы установить).
3) Весь CSS для моей страницы чрезвычайно хорошо организован в реальном файле PHP, в котором он используется.
4) Сокращает HTTP-запросы к внешним файлам.
5) Сокращает запросы сервера к внешним файлам.
Минусы:
1) Моя программа IDE (Komodo IDE) не может использовать форматирование Heredoc для правильного выделения CSS, что затрудняет отладку синтаксических ошибок в CSS.
2) Я действительно не вижу другого мошенника, пожалуйста, просветите меня!