首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在较少的操作中使用变量定义变量名

在较少的操作中使用变量定义变量名
EN

Stack Overflow用户
提问于 2013-09-30 15:26:07
回答 2查看 548关注 0票数 0

请有人解释一下为什么这段代码不能工作:

代码语言:javascript
复制
@red-1:#ff0000;
@red-2:#990000;
@blue-1:#000ff;
@blue-2:#00099;

.setTheme(@theme){
  @color-1:~"@{@{theme}-1}";
  @color-2:fade(~"@{@{theme}-2}", 10%); //doesn't work
  body.@{theme} .button{
    background:@color-1;
    color:@color-2;
  }
}

.setTheme(~"red");

谢谢;

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-30 18:22:36

这是一只虫子

颜色函数与此已经提交了有关。

解决办法

不要试图在一个字符串中执行两个调用。将变量值设置为内部变量。然后,在使用它们时,直接使用@@语法。如下所示:

代码语言:javascript
复制
@red-1:#ff0000;
@red-2:#990000;
@blue-1:#000ff;
@blue-2:#00099;

.setTheme(@theme){
  @color-1:~"@{theme}-1";
  @color-2:~"@{theme}-2"; 
  @color-2faded: fade(@@color-2, 10%);
  body.@{theme} .button{
    background:@@color-1;
    color:@color-2faded;
  }
}

.setTheme(~"red");

或者没有额外的变量:

代码语言:javascript
复制
.setTheme(@theme){
  @color-1:~"@{theme}-1";
  @color-2:~"@{theme}-2"; 
  body.@{theme} .button{
    background:@@color-1;
    color: fade(@@color-2, 10%);
  }
}
票数 3
EN

Stack Overflow用户

发布于 2014-02-06 23:08:58

您还可以尝试使用" color“函数将字符串转换为颜色。

代码语言:javascript
复制
@color: '#ccc';
background: color(@color);

但是是的,它不适用于像你这样的多变量。导致#NaNNaNNaN

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19098037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档