允许用户更改其帐户页面的配色方案的方法

时间:2012-12-15 16:09:34

标签: asp.net css asp.net-mvc-3 database-design

好的,这个头衔可能不太清楚,我正在建立一个客户网站,允许他的客户出售他的商品。我们将致电他的客户经销商。经销商希望能够更改网站的徽标和配色方案以匹配其网站。我不想去每个div和table等,并在数据库中为它创建一个字段,但同时我不能让他们完全控制CSS并可能拆除他们的网站看起来像什么。 处理这个问题的最佳方法是什么?为什么?

2 个答案:

答案 0 :(得分:1)

您可以使用SASS http://sass-lang.com/来实现此目的。

custom.scss: - 这是您根据需要自定义的客户端

/* COLORS */
$backgroundColor: #bada55;
$h1color: #red;
$navigationBackground: #yellow;
$navigationText: #black;
$navigationHover: #red;
$navigationFont: Tahoma;
...etc..

/* WIDGETS */
$arcticleBorderRadius: 5px;
...etc...

/* OTHER CATEGORIES */

在你的app.scss中导入custom.scss:

@import "custom.scss";

/* YOUR "PRIVATE" CSS RULES /*
body {
  background-color: $backgroundColor;
}

aside#nav {
   background-color: $navigationBackground;
   color: navigationText;

   > ul > li:hover {
        background-color: $navigationHover;
   }
}

/* etc, etc */

您还可以使用功能来淡化,变暗,反转客户可以在custom.scss中覆盖的基色。

“工作流程”可以是:

  1. 客户会覆盖他们想要的内容以及custom.scss中的内容。
  2. 您从客户端获取custom.scss,编译一个新的css,例如ACME-app.css。
  3. 客户端在网址中使用请求属性“acme”或路径变量http://www.myawesomesite.com/acme来调用该网站,该网址用于标识要加载的生成的css。

答案 1 :(得分:1)

在回顾了这里给出的选项并仔细思考之后,我已经确定,对于我的情况来说,真正最好的选择实际上是限制了人们能够改变颜色的项目,并且只是将选项存储在数据库中。开始时还需要做更多的工作,但将来会节省一些问题