Использование PHP в CSS файлах

Как многие из Вас уже наверное знают, CSS3 обещает нам такие возможности как CSS переменные. Но это чудо это светит нам к сожалению совсем не в ближайшем будущем. Однако в этой ситуации выход есть. В файлах каскадные таблиц стилей (CSS) Вы можете использовать PHP код. Эта возможность дает Web-мастеру нечто большее, чем использование CSS переменных. Все довольно легко и просто.

 

Style.php

 

Вместо привычного нам файла с расширением .CSS, мы подключим к страничке php-файл:

<link rel='stylesheet' type='text/css' href='css/style.php' />

Тип документа

В самом начале файла style.php необходимо указать, что на выходе нам все-таки нужен файл стилей, т.е. указываем тип документа:

<?php
  header("Content-type: text/css; charset: UTF-8");
?>

 

Установка переменных

 

Теперь установим значения для нескольких переменных, например такие:

<?php
  header("Content-type: text/css; charset: UTF-8");

  $brandColor = "#990000";
  $linkColor = "#555555";
  $CDNURL = "http://cdn.blahblah.net"
?>

 

Использование переменных

 

Достаточно просто вывести обозначенные переменные в необходимых местах стилей:

#header {
  background: url("<?php echo $CDNURL; ?>/images/header-bg.png") no-repeat;
}

a
  color: <?php echo $linkColor; ?>;
}
...
  ul#main-nav li a {
  color: <?php echo $linkColor; ?>;
}

 

Другие идеи использования CSS файла сгенерированного с помощью PHP

 

1. Сжатие CSS файла с помощью PHP
2. Теоретически, вы даже можете использовать информацию о User-agent для вывода стилей под конкретный браузер.
3. В зависимости от сезона года, вы можете менять стили, используя информацию о текущей дате.
4. Генерировать различные цвета, устанавливать фон случайным образом, и в конце-концов, просто тестировать.
5. Использовать функции и любые другие возможности PHP для формирования стилевых таблиц.

 

Не работает?

 

В некоторых случаях (например для реализации нашей идеи в Wordpress), вам возможно потребуется прописать следующие строчки в файле .htaccess (только для Apache):

<FilesMatch "^.*?style.*?$">
    SetHandler php5-script
</FilesMatch>

При этом файл стилей оставляем с расширением .css, а .htaccess кладем в туже папку, где и стили.

 

 

Оригинал статьи... 

 

Обсудить на форуме...

 
Автор: Alex
Опубликовано: Alex
Комментарии: (8)
Рейтинги:  
0

Теги:

Css,   Php,   Создать Сайт

Комментарии:


Аватар
8. Артур
Спасибо автор огромное:) то что нужно! Теперь такое буду творить... :)
Аватар
7. Анонимный
Почему на локальном сервере всё работает а на хосте нет
Аватар
6. Анонимный
Да так же как и в обычном файле php) разница лиш в том что место вывода файла в браузер это получаеться стилевой файл
Аватар
5. Анонимный_тот же
Еще дайте примеры с запросами в базу данных и вывод их циклом! как работать? тут же много можно сделать! пишите срочно!
Аватар
4. Анонимный
а так можно в JAVASCRIPT?
Аватар
3. glowingsword
Интересная идея, сам над таким применением PHP думал. Но нашел SASS/SCSS и пока доволен возможностями препроцессора. Мне константы нужны были, а потом и вложенные правила стал юзать.
Аватар
2. Anvar
Спасибо большое! То что надо)
Аватар
1. Дмитрий
Спасибо, нашёл решение проблемы!

Оставить комментарий:

* Просьба все технические вопросы, которые могут потребовать обсуждения, задавать на форуме.
** все некорректные и рекламные посты будут удаляться, ненормативная лексика и оскорбительные высказывания запрещаются.

* Для редактирования комментария осталось 15 минут