【问题标题】:Stylus, refer to variable name and valueStylus,指变量名和值
【发布时间】:2012-09-04 15:27:42
【问题描述】:

我想要...

我正在尝试做这样的循环

my-red = #fcc
my-blue = #ccf

for color in my-red, my-blue
  .{color}
    color x

我希望它输出

.my-blue {
  color: #ccf;
}
.my-red {
  color: #fcc;
}

我似乎无法同时获得所需的变量名和值

我试过了……

my-blue = #ccf
my-red = #fcc

for x in 'my-blue' my-red
  .{x}
    color x

但我只得到类名或颜色名(取决于我是否使用字符串作为变量名进行迭代)

.my-blue {
  color: "my-blue";
}
. {
  color: #fcc;
}

【问题讨论】:

    标签: stylus


    【解决方案1】:

    您可以将数组用于此类任务,因此您可以这样做:

    my-colors = my-red  #fcc,
                my-blue #ccf
    
    for pair in my-colors
      .{pair[0]}
        color pair[1]
    

    这样做,您声明my-colors 数组,然后迭代它,使用对中的第一个元素作为名称,第二个作为值。

    【讨论】:

    • 谢谢,但我似乎无法在手写笔测试页面上使用它:learnboost.github.com/stylus/try.html
    • 这个测试页面有一些旧版本的手写笔,它不允许多行变量声明。因此,只需将我的 sn-p 的第一行替换为my-colors = my-red #fcc, my-blue #ccf,您就会发现它会起作用。并且实际的主分支(或 npm 中的当前版本)应该完美地呈现它而无需任何更改。
    • 成功了!非常感谢您在我提出问题后很久才解决这个问题。
    猜你喜欢
    • 2015-02-27
    • 2018-04-29
    • 2022-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多