и затем используя dom: загруженный с прототипом
Ооо, не делайте этого!Это не будет работать, если JavaScript отключен.
Подход 1: Статическая таблица стилей, динамические значения в заголовке документа
Ради того, чтобы не работать сдинамически создаваемая таблица стилей, имеет отдельный статический файл CSS со всеми определениями, которые не будут изменяться.
<link rel="stylesheet" href="styles/static.css" type="text/css">
<!-- Or whatever you name it -->
Все определения, которые будет изменяться,вы можете поместить в head
HTML-документ, извлекая изменяемые пользователем значения из базы данных.
<style type="text/css">
.classname { font-size: (fontsize); } <-- Insert dynamic value here
.classname { color: (color); } <-- Insert dynamic value here
....
<style>
таким образом, большинство CSS остается в статических, кешируемых файлах, в то время как динамическиечасть не будет вызывать другой HTTP-запрос.
Подход 2: Динамическая таблица стилей
Если у вас много динамически изменяемых значений, поместите всю таблицу стилей в файл сценария и выведите ее, заменив заполнители назначения из базы данных.Недостатком этого является то, что для того, чтобы заставить браузер перезагружать таблицу стилей при изменениях, вам придется работать с подходом версии stylesheet.css?version=400
, который довольно сложен, но иногда может быть более желательным, чем мусор head
раздел с CSS.
Вы сами решаете, какой подход лучше подходит для вашей ситуации.Чаще всего я выбираю первое.