Less 我可以将较少的变量设置为CSS属性值吗?

Less 我可以将较少的变量设置为CSS属性值吗?,less,Less,我想为现有CSS类(.layer)的背景色设置一个较小的变量(@primary) 背景:这是在一个名为Core的库中。一些使用Core的应用程序通过CSS覆盖.layer的背景色来提供自己的主题。我想添加@primary并在核心的其他地方使用它,但我需要将它设置为应用程序特定的主题颜色。我可以修改每个应用程序以覆盖@primary,但这并不实际,因此我正在寻找一种从已覆盖的.layer访问该颜色的方法。如果我理解正确,这就是您正在做的: 使用less在Core项目中创建Core.css。输出为C

我想为现有CSS类(.layer)的背景色设置一个较小的变量(@primary)


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

如果我理解正确,这就是您正在做的:

  • 使用less在Core项目中创建Core.css。输出为Core.css
  • 将Core.css(通过npm或cdn…)包含到一个单独的项目中,我们称之为ChildApp,它没有访问无核心变量的权限
  • ChildApp正在用自己的css覆盖Core.css中的一些css 如果是这种情况,则不可以,您无法直接从父级修改子级的替代


    最接近的方法是更改Core.css中的html结构或类名,这样子重写将不再对希望从Core中调整的Core中的项目产生任何影响

    这几乎正是我想要做的。你的解释让我明白了我是如何看待这个错误的(第一次尝试使用更少的东西)。我希望获得ChildApp提供的覆盖值,并将它们应用到Core的其他地方。我忘记了LESS是一个预处理器,在ChildApp执行覆盖时,它已经不存在了(让我的核心是纯CSS)。谢谢