在Mixins中使用传递的变量作为键/值对

林恩

我尝试查找此内容,但没有成功。我找不到正确的搜索参数。

我正在SASS中创建一个mixin,这将允许我通过从值和值传递动画名称来创建关键帧。这是一个例子:

@mixin keyframes($name, $from, $to) {
    @-webkit-keyframes #{$name} {
        from {
            left: $from
        }
        to {
            left: $to
        }
    }
}

这是一个较短的版本,因为我还要为@ -moz-keyframes和@keyframes添加行。我更喜欢这种方法,这样我就不必在动画中重复“ from”和“ to”,而让mixin只是使用@content来抓取它,但是我也不想假设“ left”是唯一的方法将会受到影响的财产。

我想做的是将$ from和$ to变量都视为Objects,以便它们可以包含一系列键/值对。当我尝试这样做时:

$mixin keyframes($name, $from, $to) {
    @-webkit-keyframes #{$name} {
        from {
            $from
        }
        to {
            $to
        }
    }
}

...我得到编译错误,因为它是键/值对而不是变量。

有没有办法告诉SASS将$ from和$ to视为一系列键/值对?我已经尝试过#{$ from},但仍然会抛出该编译错误。

谢谢!

西曼侬

您不能这样做,因为属性/值不是字符串。您将必须使用映射来编写它,如下所示:

@mixin keyframes($name, $from, $to) {
    @-webkit-keyframes #{$name} {
        from {
            @each $prop, $val in $from {
              #{$prop}: $val;
            }
        }
        to {
            @each $prop, $val in $to {
              #{$prop}: $val;
            }
        }
    }
}

@include keyframes(foo, (top: 10px), (top: 50px));

但是,如果您的目标是编写一个灵活的mixin,我建议完全不要这样做。只需写出您自己的from / to语句:

@mixin keyframes($name) {
    @-webkit-keyframes #{$name} {
        @content
    }
}

@include keyframes(foo) {
  from {
    top: 10px;
  }

  to {
    top: 50px;
  }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Mixins中使用传递的变量作为键/值对

来自分类Dev

如何在PHP数组中使用变量作为键值?

来自分类Dev

使用AJAX发布将会话变量作为键值对传递到PHP文件

来自分类Dev

在python中使用变量作为字符串查询以在url中传递参数

来自分类Dev

Javascript 变量语句作为键值对

来自分类Dev

如何将键字段作为变量而不是硬编码的键值传递给OData操作?

来自分类Dev

在Rails中使用变量作为哈希键

来自分类Dev

在PHP中使用“ and”或“ or”作为变量进行查询

来自分类Dev

在r中使用变量作为函数参数

来自分类Dev

在Python函数中使用变量作为参数

来自分类Dev

在r中使用变量作为函数参数

来自分类Dev

在Rails中使用变量作为列名

来自分类Dev

在jQuery中使用变量作为函数

来自分类Dev

在MySQLi中使用$ _GET变量作为ID

来自分类Dev

在PHP中使用会话变量作为对象

来自分类Dev

在 sql 查询中使用变量作为列名

来自分类Dev

在javascript中使用变量作为“id”属性

来自分类Dev

在Polymer中使用CSS Mixins

来自分类Dev

在C ++中使用键值

来自分类Dev

在Swift中使用PresentViewController传递变量

来自分类Dev

在MVVM中使用CommandParameter传递类变量

来自分类Dev

如何在对象名称作为变量传递的循环中使用saveRDS-R

来自分类Dev

如何在 CloudWatch Alarm Actions with python (boto3) 中使用变量作为参数传递 AWS 子账户的账户 ID?

来自分类Dev

C ++-在getline中使用变量作为变量名

来自分类Dev

在perl中使用输出变量作为新的输入变量

来自分类Dev

C ++-在getline中使用变量作为变量名

来自分类Dev

在bash中使用变量值作为变量名

来自分类Dev

Html.DropDownList在JSON中使用.val()作为null传递

来自分类Dev

我可以使用“ gsub!”作为变量传递块吗?

Related 相关文章

  1. 1

    在Mixins中使用传递的变量作为键/值对

  2. 2

    如何在PHP数组中使用变量作为键值?

  3. 3

    使用AJAX发布将会话变量作为键值对传递到PHP文件

  4. 4

    在python中使用变量作为字符串查询以在url中传递参数

  5. 5

    Javascript 变量语句作为键值对

  6. 6

    如何将键字段作为变量而不是硬编码的键值传递给OData操作?

  7. 7

    在Rails中使用变量作为哈希键

  8. 8

    在PHP中使用“ and”或“ or”作为变量进行查询

  9. 9

    在r中使用变量作为函数参数

  10. 10

    在Python函数中使用变量作为参数

  11. 11

    在r中使用变量作为函数参数

  12. 12

    在Rails中使用变量作为列名

  13. 13

    在jQuery中使用变量作为函数

  14. 14

    在MySQLi中使用$ _GET变量作为ID

  15. 15

    在PHP中使用会话变量作为对象

  16. 16

    在 sql 查询中使用变量作为列名

  17. 17

    在javascript中使用变量作为“id”属性

  18. 18

    在Polymer中使用CSS Mixins

  19. 19

    在C ++中使用键值

  20. 20

    在Swift中使用PresentViewController传递变量

  21. 21

    在MVVM中使用CommandParameter传递类变量

  22. 22

    如何在对象名称作为变量传递的循环中使用saveRDS-R

  23. 23

    如何在 CloudWatch Alarm Actions with python (boto3) 中使用变量作为参数传递 AWS 子账户的账户 ID?

  24. 24

    C ++-在getline中使用变量作为变量名

  25. 25

    在perl中使用输出变量作为新的输入变量

  26. 26

    C ++-在getline中使用变量作为变量名

  27. 27

    在bash中使用变量值作为变量名

  28. 28

    Html.DropDownList在JSON中使用.val()作为null传递

  29. 29

    我可以使用“ gsub!”作为变量传递块吗?

热门标签

归档