【发布时间】:2013-02-22 22:12:16
【问题描述】:
在这里掌握LESS,但有一点还不清楚。
假设我的网站有多个颜色主题,由 body 标签上的类控制。由此我可以为每个主题中的每个元素重新定义各种颜色。如果我有很多元素要改变……和很多主题,这很容易但相当耗时。每次添加新主题时,我都需要重新编写所有选择器,使用不同的颜色值。
到目前为止,我的工作基于我发现的另一篇文章: LESS.css variable depending on class
...但是,对于我想要做的事情来说,它似乎仍然过于复杂,因为我仍然必须写出所有选择器并包含 mixin,然后再放入具有颜色变量的相同 CSS。
我创建了一个CODEPEN HERE
如果有人有时间看一看并建议我如何以不同的方式处理此问题或如何简化此过程,我将不胜感激。
非常感谢任何提供帮助的人:)
【问题讨论】:
-
您是否有理由希望您的“主题”都在同一个 CSS 文件中?使用每个文件一个主题的备用样式表似乎要简单得多。
-
嗨西玛侬。如果我只是使用 CSS,我会走这条路。我只是认为可能有一种简单的方法可以在声明后更改实际变量值,这意味着我只需要几行代码就可以说明“.theme-2”中的新变量颜色是什么然后一切都会随着这些新的变量值而改变颜色。不过谢谢你的建议。
-
我明白你想要什么,但你还没有回答我的问题。每个文件创建 1 个主题将是进行主题化的最简单方法,并且允许用户避免下载他们不需要的样式,因为他们永远不会使用除了他们选择的(或默认)主题之外的任何东西。如果每个页面都有自己的主题(即主题不可配置),那么使用单独的样式表就没有多大意义。
-
啊,我现在明白你的意思了,我很抱歉。我与实际的 LESS 混淆了,我完全忘记考虑将下载的不必要的样式。在这种特殊情况下,我希望不同的页面能够具有不同的颜色主题,这将由创建者在CMS。我可能在这里举了一个不好的例子。我想在一天结束的时候,我想知道的是,变量的值是否可以在特定的父类中设置为不同的值。在我看来,这似乎是维护不同颜色主题的一种更简单的方法。
标签: css colors themes less mixins