Asp.net 允许用户更改其帐户页面颜色方案的方法

Asp.net 允许用户更改其帐户页面颜色方案的方法,asp.net,css,asp.net-mvc-3,database-design,Asp.net,Css,Asp.net Mvc 3,Database Design,好吧,标题可能不太清楚,我正在为一个客户建立一个网站,允许他的客户销售他的商品。我们会打电话给他的客户。经销商希望能够更改网站的徽标和配色方案,以匹配其网站。我不想访问每个div和表等,并在数据库中为其创建一个字段,但同时我不能让他们完全控制CSS,并可能破坏他们的网站外观。 处理此问题的最佳方法是什么?为什么?您可以使用SASS来实现此目的 custom.scss:-这是您提供给客户的内容,客户可以根据自己的需要进行定制 /* COLORS */ $backgroundColor: #bada

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

您可以使用SASS来实现此目的

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.scs,编译一个新的css,例如acme-app.css
  • 客户端使用url中的请求属性“acme”或路径变量调用站点,该url标识要加载哪个生成的css

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

    如果他们有能力处理CSS,为什么不让他们去做呢?此外,场地的设计也很重要。你有一个或两个不同梯度的音调吗?你不必启用小丑服网站,只需选择几种颜色即可。如果他们真的需要更多的灵活性,CSS访问是有意义的,因为很难抽象出这样复杂的东西。在
    正文
    html
    类上使用标志类,例如
    。然后构造你的CSS,这样你就可以覆盖颜色和字体等,通过使用COOKIE值来操作它,你可以将默认值设置为客户端想要的默认值。这就是我所说的: