允许最终用户拥有他们可以修改的特定CSS规则

时间:2010-08-08 09:14:21

标签: css stylesheet customization

我希望用户能够有限地访问控制div的某些CSS属性。 div都是相似的,都有一些类名,并在整个站点上显示用户的样式规则。有点像用户CSS样式表,除了他们可以更改的某些规则。

允许更改为:

.className{  
   font:all attributes;  
   all four borders:all attributes;  
   float:cannot change;
}

最好的方法是将它们存储在数据库中吗?将颜色,边框宽度等存储在MySQL数据库中?看起来很多,包含所有信息。

允许用户拥有自己的CSS文档是有风险的,我不希望他们能够更改布局。我想把它作为我网站的一部分,任何人都可以使用,不知道CSS。我希望他们有自己的风格选择;比如让他们在Drupal网站上拥有自己的主题,但是让任何人都可以轻松地进行更改(比如有一个预定义的列表或者其他内容)。但是如果他们想要的话,他们也必须完全控制我允许他们改变的属性。

从数据库预处理此信息并将其放入样式标记会效率低下吗?看起来像很多查询,除非它只在一个查询中。

2 个答案:

答案 0 :(得分:1)

您应该查看jQuery UI ThemeRoller脚本,它使用通过URL传递的许多字段。单击左侧的任何主题,查看URL发生的情况。

您可以轻松地复制它以满足您的需求,而是将这些值保存在数据库中。如果您愿意,也可以使用相同的命名约定。

我认为这是一个很好的起点。

答案 1 :(得分:0)

要让您的用户能够动态生成和预览样式,必须使用Javascript(或服务器端)来解析它们。无论哪种方式,您都必须以某种方式从中获取CSS规则,因此您可以在将其丢入数据库之前执行此操作。无论如何,你正在做你将要做的事情,但要省去制作大桌子的麻烦。