В <head>
<link id="theme" rel="stylesheet" href="public/css/green.css"/>
<script type="text/javascript">
var URL = "mysite/";
var images = "mysite/img/";
</script>
В <body>
<div class="theme" onclick="console.log(URL);"></div>
Почему при клике на <div class="theme" выводит не mysite/, а текущий адрес в строке браузера?
а в случае с console.log(images); выводит массив всех картинок на странице
браузер фф 29
Это жесть какая-то (( (Добавление)
а в файербаге если в консоли набрать - все гуд, выводит mysite/ и mysite/img/ соответственно
а уже в скрипте style.php можете прочитать ваш style.css, или генерировать на лету.
И Ваш последний пост про SASS LESS - один и тот же подход. Удобно.
Особенно, когда стилей надо наделать много, а самих типов (body{background: ..., color: ...} ) немного.
А вот если наоборот - стилей оформления -2, 3, а отличий ну просто жуть как много - тогда чище, красивее и проще будет сделать через отдельные оформительские стили, подключаемые после основного
Вынесите общие стили в отдельный файл, и подключайте его независимо от темы. CSS файлы тем, подключайте после него
Очень хороший совет.
У меня сделано так: общее оформление, одинаковое для каждой страницы (шапка, футер, строки таблиц, ...) вынесено в общий файл. Для размещения элементов, характерных для определенной страницы - подключается свой конкретный файл.
Если из общего файла вынести оформительские элементы, скажем, цвет фона для всех страниц, и создать стили тем (red.css, blue.css, и еще штук 5), то в каждый из них надо вставлять body{background: свой цвет}. Я с этим смирюсь. Но когда таких записей (касаемо других частей страницы) будет больше? В каждый css файл надо добавлять по строчке, менять синхронно их... Вот и думаю: лучше через переменные в одном style.css или загружать стилевые css после загрузки основного?
и что, теперь весь CSS встраивается в страницу? не хорошо.
Можно поинтересоваться, зачем вам переменные? С какой целью вы это используете?
Ch_chov пишет:
Contr, перед тем как спрашивать как это сделать, лучше объяснить для чего это вам нужно. Смешивать php и css в одном файле сомнительная затея.
Для того чтобы легче было сделать несколько разных стилевых оформления сайта. Сделать несколько *.css файлов - потом трудно их синхронно менять. Вот для этого и встраиваю переменные.
Цитата:
что, теперь весь CSS встраивается в страницу? не хорошо
- Почему? В теге <head> нормально, вроде бы..
(Добавление)
В принципе я смотрю, и с IDE NetBeans тоже получилось:
было так:
<style type="text/css">
<?php require 'style.php'; ?>
</style>
сделал так:
<?php require 'style.php'; ?>
а уже внутри style.php вставил теги <style type="text/css"></style>. Теперь NetBeans css отображает красиво, в разные цвета
Допустим, может, заставим "прогнать". Как это вам поможет?
Задам переменные в css.
Сразу оговорюсь - сторонние "фишки" не предлагать
Выкрутился так:
в <head> написал:
<style type="text/css">
<?php require 'style.css'; ?>
</style>
-теперь файл читается через интерпретатор и переменные обрабатываются.
Из минусов - необходимо прописывать полный путь (через http://) до фоновой картинки
background: url("img/save_16.png") no-repeat scroll center center transparent;
- но это быстро решается также через переменную
Результат такой:
через php пропускается, переменные обрабатываются. Но появился минус - в IDE (у меня NetBeans) подчеркивает нехарактерные для *.css теги <?php ?> и весь остальной синтаксис плохо читаем.
Так что тут теперь вопрос в другом: как заставить NetBeans не обращать внимания на теги <?php ?>
Если сменить расширение...
Если просто разминка для мозгов с олимпиады - пуская этим занимаются профессора. Если есть стоимость и практическая ценность- тогда будет и решение. Научные труды не пишем. Стоимость озвучьте, а то разойдемся на решение более "практичных" задач