Во-первых, FYI: файл .php, на который ссылается ниже, будет index.php блога Serindipity, который представляет собой очень сложную проблему с кодом и файлами.
В моем файле index.php я хочу взять строку запроса, если она существует, из URL-адреса и назначить ее переменной (как в переменной = self.location.search ).
Я хочу, чтобы затем назначить эту переменную одному атрибуту одной записи в файле style.css, который вызывается одним из многих файлов, которые Serindipity использует для создания страницы вывода:
body { font-size: 10pt; margin: 1; background-color: #000000; font-family: verdana, arial, helvetica, sans-serif; margin-bottom: 30px; }
Я хочу изменить только параметр background-color одной из многих записей, показанных выше, на значение $ этой переменной (которое было бы либо « прозрачным », либо нулевым).
В этом процессе мне нужно использовать логический код, чтобы определить, есть ли строка запроса вообще.
Если да, сделайте background-color = variable . Если нет, сделайте background-color = "# 000000" .
(Конечно, логика должна выполняться в файле CSS.)
Это возможно?
Благодаря!
Я не знаком с движком, который вы упомянули (Serindipity), но это должно быть довольно простым, если вам разрешено создавать и редактировать свои собственные Php-скрипты (что на самом деле не имеет значения, поскольку двигатель не является в зависимости от названия style-sheet
):
Измените окончание файла таблицы стилей на
.php
и веб-сервер распознает его как php-скрипт. Установите mime-type в text / css, как @Brighty написал
header('Content-type: text/css');
и пользователь никогда не узнает разницу (кроме, конечно, файла, заканчивающегося .php
).
Если стильная таблица с файлом, заканчивающимся .php
является проблемой, вы всегда можете использовать .htaccess и некоторое умное регулярное выражение, чтобы заставить пользователя полагать, что они видят .css
.
Изменить: Кроме того, если у вас есть доступ к настройке того, какие файлы / файлы будут распознаны как php-скрипты, вы можете настроить сервер также на распознавание .css
как php-файла (который, насколько я знаю, не был бы проблема, так как php просто подбрасывает какой-либо простой текст, который появляется пользователю).
Просто убедитесь, что ваш файл является .php
файлом, и вы можете просто использовать PHP в нем так:
<?php $colour1 = isset($variable) ? $variable : '#000'; header("Content-Type: text/css"); ?> body { background: <?php echo $colour1; ?> } div { color: <?php echo $colour1; ?> }
Очевидно, это довольно гибко! Вот ссылка, которую я нашел, расширив метод еще больше.
вы не можете установить какую-либо переменную в файле css, jquery или javascript – лучший вариант для игры с вашим файлом css.
или вы будете делать с встроенным css.
Вы можете достичь этого, смешав css и php-код в одном файле с расширением php и установив тип mime файла в text / css.
header('Content-type: text/css');
Я сделал аналогичную вещь в ColdFusion, но никогда в php, поэтому я не могу гарантировать, что это сработает.