【问题标题】:Sass variable inside mixing includeSass 变量内部混合包括
【发布时间】:2017-03-07 23:49:35
【问题描述】:

我正在尝试创建一个 each 循环,该循环创建一个类名并以该名称作为参数调用一个 mixin。我的想法是我可以列一个清单:

$list: (item1, item2, item3, ect);

然后运行 ​​each 循环以使用该名称创建一个类,并以该名称作为参数调用一个 mixin。

@each $name in $list {
    .#{$name} {
        @include mixin($name);
    }
}

mixin 中的那个参数调用另一个同名变量来设置 mixin 中我需要的属性。这似乎是我应该能够做的事情,但似乎无法弄清楚如何将 mixin 参数作为变量而不仅仅是一串文本。我是否必须以特定方式使用插值才能在列表名称前添加 $?这样做似乎不起作用:

@include mixin($#{$name});

我需要它做的是使用 item1、item2、item3 等的值来创建类名,然后通过 mixin 将它们作为变量 $item1、$item2、$item3 发送 我不确定还有什么可以尝试的。

【问题讨论】:

  • 为什么需要变量来吐出每个变量?,这就是带有属性/值的映射的用途,
  • 我试图使用 grunt spritesmith,但如果我有它为我创建一个 scss 文件,它不会像你有它创建一个css 文件。所以我试图创建一个 each 循环,我可以让它打印出类名并调用那个将同名作为变量的精灵 mixin。

标签: css sass mixins


【解决方案1】:

像第一次那样只使用变量名$name 就可以了。

Here is an example I made using your code.

【讨论】:

  • 这个例子是通过 mixin 发送值。我需要的是通过mixin发送一个变量。我需要发送变量 $red、$green 和 $yellow。不是值“红色”、“绿色”和“黄色”。
  • 不错的颜色选择
  • @user23339729 如果你想显示变量名然后 $colors: (red: '$red', green: '$green', yellow: '$yellow');否则我不明白你的逻辑
猜你喜欢
  • 1970-01-01
  • 2013-03-31
  • 1970-01-01
  • 2017-01-19
  • 2010-12-08
  • 2018-12-02
  • 2012-09-11
  • 2021-07-15
  • 2021-03-24
相关资源
最近更新 更多