0

好吧,这个标题可能不太清楚,我正在为一个客户建立一个网站,允许他的客户销售他的商品。我们会打电话给他的客户经销商。经销商希望能够更改网站的徽标和配色方案以匹配他们的网站。我不想去每一个 div 和 table 等并在数据库中为它创建一个字段,但同时我不能让他们完全控制 CSS 并可能破坏他们的网站的样子。处理此问题的最佳方法是什么,为什么?

4

2 回答 2

1

在查看了此处给出的选项并认真思考之后,我决定真正适合我的情况的最佳选择实际上是限制人们能够更改颜色并将选项存储在数据库中的项目。一开始需要做更多的工作,但可以节省未来的问题

于 2012-12-27T03:22:00.490 回答
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 的 url 中调用站点。
于 2012-12-15T16:45:00.903 回答