我正在使用MVC和Angular为前端构建一个新的ASP .NET Web应用程序。现在我正在为这个应用程序的未来设计前端框架/基础工作。
我想允许用户转到他们的设置,将他们的UI主题从白天模式更改为夜间模式(如果我们决定,可能还有其他几个主题)。基本上所有这一切都应该改变应用程序使用的颜色。
为了实现这一点,我想实现某种颜色变量,如“primaryColor”,“secondaryColor”,“errorColor”等......这将使我们作为开发人员编写新内容非常容易主题。理论上应用程序中的所有CSS都应该引用这些变量。
问题:我应该如何为我的应用程序的前端添加主题/颜色更改支持?我有什么选择?
我一直在探索的潜在解决方案:CSS,Materialise,Bootstrap,SASS,LESS。
CSS:我的第一个希望是CSS支持简单的变量,例如可以在运行时更改的颜色,也许我只是不知道它们。看来这不可能吗?
物化:我非常喜欢这个设计。他们甚至支持SASS。但我想不出让用户改变主题的方法。它似乎会显着减慢网站速度,因为它必须在服务器上预编译?另外,如果在运行时无法改变变量,为什么不在源文件中进行查找和替换呢?它允许我们做一些事情,比如指定主要颜色
Bootstrap:我不喜欢bootstraps样式(颜色除外)和Materialise一样,但看起来它们支持Bootswatch某些Bootstrap主题?但似乎这比编辑主要和次要颜色要复杂得多,因为我们希望实现自己的颜色。
SASS / LESS:实现+ SASS。如果没有,那么我们可以使用sass / less来手动创建自己的?
编辑:我也一直在研究Angular Material,但似乎缺乏如何将其添加到.net应用程序的文档