代码之家  ›  专栏  ›  技术社区  ›  Sim Sca

触控笔通过循环创建混音

  •  1
  • Sim Sca  · 技术社区  · 9 年前

    我的目标是通过数组创建一组mixin。 我的想法是如下应用代码:

    f_colors = (f1 f2 f3 f4 f5)
    for $i in 0..length(f_colors)
        v = f_colors[$i]
        num = $i+1
    
       f{num}cl()
          color v
    
       f{num}bg()
          background-color: v
    
    // and use to generate css
    body
       h1
           color: white
           f5bg ''
    

    在f_colors中,我存储了一个颜色列表。 在这个示例中,我将获得如下输出:

    body h1 {
       background-color: #00f; // f5 color
       color: white;
    }
    

    这是可能的,或者我的最佳选择是如下使用mixin:

    fbg(num)
        background-color: f_colors[num-1]
    
    fcl(num)
        color: f_colors[num-1]
    

    谢谢你的阅读。

    1 回复  |  直到 9 年前
        1
  •  2
  •   Ven    9 年前

    你必须使用 define 双歧杆菌:

    $colors = (f1 f2 f3 f4 f5)
    for $c, $i in $colors
      define("f"+($i + 1)+"bg", @() {
        background-color: $c
      })
    
    // and use to generate css
    body
      h1
        color: white
        f5bg ''