Глобальные переменные в таблицах стилей CSS - PullRequest
2 голосов
/ 30 ноября 2009

У меня есть абсолютный URL в моей таблице стилей. http://localhost/images/myimage.jpg.

У меня также есть класс конфигурации со следующей константой

const SITE_ROOT = 'http://localhost/images'

На php страницах я пишу config::SITE_ROOT . "/myimage.jpg" поэтому, когда я перемещаю сайт на рабочий сервер, я могу изменить корневой каталог сайта в одном централизованном месте.

Есть ли способ сделать это в моей таблице стилей, не помещая ее на страницу? Относительные URL-адреса не являются опцией, потому что я использую мод переписывает, а относительные URL-адреса не работают.

Ответы [ 2 ]

8 голосов
/ 30 ноября 2009

Вы можете записать свою константу SITE_ROOT в файлы CSS, проанализировав их с помощью PHP. Добавьте это к .htaccess:

AddHandler application/x-httpd-php .css

Затем вставьте PHP в CSS-файлы, как в любом файле .php.

2 голосов
/ 30 ноября 2009

Нет способа сделать это с помощью CSS. Если вы хотите сделать что-то подобное, вы можете сделать это PHP-файлом и использовать переменные таким образом.

Но не могли бы вы просто использовать абсолютные URL-адреса?

background-image: url(/images/myimage.jpg);

Работает на любом сервере, не является относительным и найдет файлы из корня.

...