好吧,这个标题可能不太清楚,我正在为客户建立一个网站,允许他的客户销售他的商品。我们会调用他的客户经销商。经销商希望能够更改站点的 Logo 和配色方案以匹配他们的站点。我不想去每个单独的 div 和表等并在数据库中为其创建一个字段,但与此同时我不能让他们完全控制 CSS 并可能破坏他们网站的外观。处理此问题的最佳方法是什么?为什么?
您可以使用 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 中覆盖的基色变亮、变暗、反转。
“工作流程”可以是:
- 客户覆盖他们想要的以及 custom.scss 中可用的内容。
- 您从客户端获取 custom.scss,编译一个新的 css,例如acme-app.css.
- 客户端使用请求属性“acme”或路径变量 http://www.myawesomesite.com/acme 调用站点,在标识要加载哪个生成的 css 的 url 中。
我是一名优秀的程序员,十分优秀!