Customizable/Themable UI
Customizable/Themable UI
我想为我的用户提供自定义网站外观和感觉的能力。
我给他们一个颜色选择器来选择一个配色方案。我想动态地生成一些匹配的颜色并应用它们。
我的问题是:
1)。如何根据所选颜色生成配色方案?(一些配色和对比色作为背景)
2)。实现可主题界面的最佳实践是什么?
我正在用纯HTML和REST API作为后端编写AngularJS SPA应用程序。
现在对于我的第二个问题,我正在检索颜色设置并将它们应用于body。
<body style="background:color:{{bgcolor}}; color:{{fgcolor}}">
你可以像上面那样使用ngStyle…但正如你所指出的,它不是很优雅。
简单的事实是,除了ngStyle指令本身,AngularJS本身并没有真正设计来解决这个问题。然而,虽然我还没有确切地看到这方面的"最佳实践",但您可以从Drupal的"Color"模块(它是它的基础/核心模块之一)中获得一些想法。在Angular中,你可以很容易地做到同样的事情。
它的作用是回到样式表,我假设你跳过了,因为它看起来不像是一个明显的解决方案动态的东西。但他们有一个聪明的答案。在一段代码中,用户选择一种颜色后,他们为其文件名编写一个具有唯一ID的样式表。他们将这些内容放在保存其他用户上传资产的目录中,这样它们就不会与核心站点代码混合在一起(最小化潜在的攻击向量)。然后,他们只需要在页面中添加一个简单的规则来包含样式表本身。
你可以很容易地用Angular模拟这一切,当然,你需要服务器的帮助。但它的好处是它更容易维护。样式表可以完全按照它应该的方式工作,而不是到处"撒"ngStyle指令(一个在你想要样式化的所有地方),并且可能与你想要在某些元素上做的其他事情发生冲突。你可以制作一个易于维护的模板样式表,所以这是一个很自然的选择……最好的部分是,它很容易将所有内容连接起来。
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- jQuery UI自动完成突然停止工作
- 如何使用skip参数使用angular ui引导进行服务器端分页
- AngularJS UI路由器不能像ng路由器那样工作
- 我可以更改剑道UI网格吗's的外键值
- 剑道UI内联编辑:如何在点击其他按钮时隐藏按钮
- Rails/JSON:如何将JSON用于jquery UI自动完成表单
- 停止jQuery UI滑块移动超过给定值
- 混合 ui-sref 和 $state.go 在 Angular ui-router 中进行状态转换
- Jquery UI自动完成无法工作
- 语义ui如何使用javascript启用或禁用下拉列表
- jquery ui滑块上的滑块值
- jQuery UI可排序-多连接列表拖动
- 如何在Angular UI网格中选择下一行
- 对具有ui typeahead的对象中的值执行orderBy
- AngularJS ui路由器html5模式中断路由
- EJS中的Angularjs-Ui路由器参数
- 使用导航属性创建Kendo UI网格模型的问题
- ui网格将单元格显示为选择标记
- Customizable/Themable UI