我可以将LESS变量设置为CSS属性值吗?

时间:2017-02-20 20:35:18

标签: less

我想将LESS变量(@primary)设置为现有CSS类(.layer)的背景颜色。

背景:这是一个名为Core的库。一些使用Core的应用程序通过CSS覆盖.layer的背景颜色来提供自己的主题。我想添加@primary并在Core中的其他地方使用它,但我需要将它设置为特定于应用程序的主题颜色。我可以修改每个应用程序以覆盖@primary,但这是不实际的,所以我正在寻找一种方法从已经被覆盖的.layer访问该颜色。

1 个答案:

答案 0 :(得分:1)

如果我理解你,那就是你正在做的事情:

  1. 使用less在Core项目中创建Core.css。输出是Core.css。
  2. 将Core.css(通过npm或cdn ...)包含到一个单独的项目中,让我们称之为ChildApp,它无法访问Core较少的变量
  3. ChildApp用自己的css覆盖Core.css中的一些css。
  4. 如果是这种情况,那么不,您无法直接从父级修改子级的覆盖。

    最接近的是从Core.css更改html结构或类名,以便子项覆盖不再对您希望从Core调整的核心项目产生任何影响。