【问题标题】:User configurable CSS colors [closed]用户可配置的 CSS 颜色 [关闭]
【发布时间】:2016-11-24 04:11:30
【问题描述】:

我作为软件开发人员工作了两个多月。我受雇于一家为大公司管理手机计划的公司。我主要处理两个协同工作的 Web 应用程序,即用户可以登录和订购新设备、升级设备、暂停设备等的“前端”。以及主管可以登录并更改前端各个方面(即用户、手机捆绑包)的“后端”。

我的任务是让后端的用户能够在前端配置主要 ui 元素的颜色,以便可以使用户的门户网站与公司的颜色相匹配。

我一直在使用样式表来确定各种元素的颜色设置在哪里,但我不确定如何针对每个用户实现对样式表的更改。任何想法或建议表示赞赏。

【问题讨论】:

  • 您需要查看 cookie。

标签: css configuration


【解决方案1】:

有几种不同的方法可以做到这一点。


可能最简单的方法是使用 Javascript。当用户选择配色方案时,您会记录它并将其发送到客户端 Javascript(可能通过 AJAX 请求),然后 Javascript 会自动通过内联 style="..." 标记直接应用样式,或者通过应用直接关联的类样式表——加载了所有可能的颜色方案,这就是这个解决方案有点失败的地方。

您要么内联所有自定义样式,这是不好的做法,要么您的样式表方式比应有的更大。从它的声音来看,他们不只是想要相对容易的“主题”,他们希望从颜色选择器中实际选择颜色来为事物设置主题。


您还可以使用SASS 动态生成样式表。有一个像这样的 SASS 变量表(这是动态生成的部分):

$color_table_header: [...];
$color_table_footer: [...];

$color_header_basic: [...];

...

并通过某种轻量级的 Node.js 服务器动态填充这些颜色。这将需要更多的存储空间(因为您必须为每个需要自定义颜色的用户生成一个样式表)。话虽如此,您为自定义用户主题生成的样式表只需要覆盖现有的主样式表,而不是为每个主题生成一个完整的页面样式表。

那么它就相当简单了:检查用户是否有自定义样式,并通过修改页面视图在正常样式表之外提供该样式表。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多