用户生成的自定义CSS

Dav*_*dP6 2 css

嘿,任何人都知道允许用户保存自定义CSS的最佳方法是什么?具体来说,我希望允许用户选择大约4种颜色值,这些颜色将用于为用户创建自定义主题.我正在考虑在数据库中保存值然后使用dom:装载原型来设置自定义样式值,但我想知道是否更快的方式?像动态创建css文件或什么?

Pek*_*ica 5

然后使用dom:装载原型

Awww,不要那样做!当JavaScript关闭时,这将不起作用.

方法1:静态样式表,文档头中的动态值

为了不必使用动态创建的样式表,请使用一个单独的静态CSS文件,其中包含所有不会更改的定义.

<link rel="stylesheet" href="styles/static.css" type="text/css"> 
<!-- Or whatever you name it -->
Run Code Online (Sandbox Code Playgroud)

所有将要更改的定义,您可以放入headHTML文档,从数据库中获取用户可更改的值.

<style type="text/css">
.classname { font-size: (fontsize); }  <-- Insert dynamic value here
.classname { color: (color); }         <-- Insert dynamic value here   
....
<style>
Run Code Online (Sandbox Code Playgroud)

这样,大多数CSS都保留在静态,可缓存的文件中,而动态部分不会引起另一个HTTP请求.

方法2:动态样式表

如果你有很多动态变化值,把整个样式表到一个脚本文件并输出,与数据库中的值替换占位符.这样做的缺点是,要强制浏览器重新加载修改样式表,你就会有一个版本的工作方式stylesheet.css?version=400,这是非常复杂的事情,但是有时比乱丢垃圾的更理想的head使用CSS部分.

您可以决定哪种方法更适合您的情况.我发现自己最常选择第一个.