less如何对css的属性进行插值?

新手上路,请多包涵

想用less实现scss如下的效果

@function a($token) {
  @return rbg(var(--color-#{token}))
};

但是使用less这样会报错

.color(@token) {
  color: rbg(var(--color-@{token}));
}

image.png

阅读 1.8k
1 个回答

你可以考虑这么写:

.color(@token) {
  color: rbg(var(~"--color-@{token}"));
}

但是得这么调用:

body {
  background: .color("abc")[color];
}

或者也可以采用下面的写法:

.color(@token) {
  // 这里去掉了rgb,因为我不确定你设置一个rgb参数格式的css变量,是否能读取到并生效
  @color: var(~"--color-@{token}");
}

body {
  .color("abcd"); //调用
  background: @color; // 使用返回值
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题