В основном у вас были бы классы css для всех основных компонентов страницы, таких как заголовок, содержимое, нижний колонтитул, элементы nav_menu, заголовок и т. Д. Все, что вы хотите, чтобы пользователь мог настроить, вы бы создали класс css / ID для него.
Затем вы должны показать все эти классы пользователю и позволить ему либо вручную ввести код CSS, либо показать ему выпадающие списки со всеми возможными цветами, например, или другими настройками.
Когда пользователь меняет опцию, вы можете использовать javascript, чтобы изменить это свойство идентификатора CSS / класса, который он выбрал. Например, если он изменит цвет фона заголовка с черного на синий, вы можете сделать это:
document.getElementById("header").style.background-color="#ABCDEF";
(Jquery может иметь более простой способ сделать это)
В конце страницы у вас может быть кнопка отправки, которая отправит все настройки CSS в скрипт php, который запишет эти настройки в базу данных. Тогда вы бы сделали запрос вроде:
SELECT css_id,css_class,css_code FROM css_styles WHERE user_id='$user_id';
Это вернет весь код CSS, а затем вы поместите это в команду вместо внешнего файла CSS.