Идея звучит неплохо, но, вероятно, это будет немного работы, и за один единственный ответ. Но так я и подхожу к нему.
Имейте базу данных, в которой хранятся текущие селектор, свойства и значения.
Такие, как:
selector | property | value
---------+----------+----------
div | color | #FFFFFF
div | float | left
и т.д., и т.д ...
На пользователя подав изменения, выполните следующие действия
1 - Обновление строки в базе данных, например, если я, пользователь, изменяет div на # 440044, а затем обновляет строку, чтобы он читал как таковой:
selector | property | value
---------+----------+----------
div | color | #440044
div | float | left
2 - Использование PHP (или ваш выбор на стороне сервера язык) вытаскивать содержимое базы данных, организации селектором, используя запрос MySql вдоль линий:
$query = 'SELECT * FROM css ORDER BY selector';
3 - Loop через эти ценности, группируя их в массив массивов, как это:
$css_array = array();
foreach($rows as $row) {
if(! array_key_exists($row['selector'], $css_array)) {
$css_array[$row['selector']] = array();
}
// push each value onto the sub array
$css_array[$row['selector']][] = $row['property'] . ':' . $row['value'];
}
Это оставит вас с массивом массивов - каждый суб массив, представляющий собой элемент CSS
array(
'div' => array(
'color:#440044',
'float:left'
),
'h1' => array(
'font-size:16px'
)
);
4 - Используя этот массив и метод лопаются, создать массовую строку, например:
foreach($css_array as $key => $value) {
$s .= key . '{';
$s .= implode(';\n', $value);
$s .= key . '}';
}
5 - Это должно оставить вас в строку, которая выглядит как обычный CSS лист. Напишите это в файл под названием style.css или аналогичный, используя функции fopen и т. Д. В PHP.
В чем вопрос? –
сделать постоянное изменение в файле css через веб-страницу –
Каков ваш конкретный вопрос? Пока вы только описали свою систему, что звучит вполне нормально для меня. Что именно вы спрашиваете сейчас? –