我需要为每个客户在现有的 asp.net 网站上贴上白色标签(特别是更改标题徽标/菜单/字体颜色)。客户将能够为网站选择他们想要的颜色。
该站点是一个门户网站,由多个网站组成。我不想使用主题或不同的母版页,因为我们没有足够的带宽来大量重组应用程序。据我所知,我有几个选择。我想知道是否有更多或有人知道其他更好/最好的方法来做到这一点。前两个选项可能相似,但一个可能是更好的性能。
为所有“颜色更改”部分提供一个虚拟 css 类 - 比如说 customColor。
例子
<div class="menu customColor" />
<div class="header customColor" />
菜单和标题 css 类包含除颜色之外的所有样式。
加载母版页时,以编程方式向此 css 类添加颜色。伪代码:
Page.Header.Controls.Add(New LiteralControl("<style type=""text/css""> .customColor { color: blue }");
customColor { color:blue };
让 asp.net ashx 处理程序返回包含此 css 并将其动态添加到页面的whiteLabel.css 。每个页面中需要更改的元素并不多。您可以在每个页面中设置一个从数据库设置适当颜色的函数。
我假设我的选择几乎是动态更改 css 或以编程方式为单个元素设置颜色。
另外我认为选项#1可能比#2更好,因为css会缓存在#2上吗?这将使公司难以改变颜色。