在数据库表中存储css值

时间:2013-08-13 05:26:21

标签: html mysql css

我计划构建一个数据库表来存储表单的css值。形式是动态的,这意味着人们不能说出它在构图中包含哪种元素。

例如,表单可能包含文本输入框,单选按钮,下拉框的组合。这是我的问题:如果我需要为这种形式存储css值,我如何构建我的表。(css属性及其值也将在表单生成本身上分配)

据我所知,这些表可能是这样的:

考虑两个表:classes, Styles

Classes表包含以下列:id, class_name

样式表包含以下列:id, class_id(foreign key), css_property, css_values

如果我为每个表单元素分配类,那么我可以使用上面的表来存储css值。但这是解决这类问题的直接方法吗?如果没有,有没有比这更好的解决方案?

4 个答案:

答案 0 :(得分:3)

您不应该在数据库中存储CSS值。您只是为自己创造更多的工作并减慢流程。你应该做的是在你的表单字段中添加类,并在external stylesheet中编写与每个类对应的样式。

答案 1 :(得分:0)

我认为您可以动态生成表单字段并将字段ID和独特的表单ID作为对象,如果要将css样式设置为位置,颜色,大小等,则可以将所有这些属性和值设置为每个字段喜欢#FormId #FieldID {properties:values;}并将数据存储在唯一的文本字段中。

表格表

FormId  | Html | Styles | "the rest of the interested form properties"

:)

答案 2 :(得分:0)

听起来您正在构建一个表单编辑器,允许用户为表单元素指定样式,并且您希望能够将这些更改保存在数据库中。如果是这种情况,您可能已经有一个类似form_elements的表格和一个类似forms的表格 - 我只需要添加两个文本列:form_elements.extra_html_attrsforms.extra_html。这将允许您将任意属性附加到每个元素(例如extra_html_attrs = class="fancy-element" style="width:100px")并在表单中包含任意html(例如extra_html = <style>.fancy-element{border:blue}</style>)。在单独的数据库表中对与CSS相关的属性建模会增加复杂性,并且在这种情况下不会为您带来任何好处。

答案 3 :(得分:0)

我会创建一个javascript类并使用JQuery。每个查询都会使用addClass来编写正确的类。您要添加的类将在javascript类中动态创建。