【问题标题】:sass interpolation with variable names带有变量名的 sass 插值
【发布时间】:2021-10-05 12:32:07
【问题描述】:

我有这样的代码。有没有办法通过列表或类似的循环来重构它?

.box-heading_orange
    background-color: g.$orange

.box-heading_teal
    background-color: g.$teal

.box-heading_dark-teal
    background-color: g.$dark-teal

.box-heading_light-blue
    background-color: g.$light-blue

.box-heading_dark-blue
    background-color: g.$dark-blue

.box-heading_dark-gray
    background-color: g.$darker-gray

插值似乎非常适合这里,但我无法插值 sass 变量名称。或者我可以吗?

【问题讨论】:

    标签: css sass refactoring


    【解决方案1】:

    用 sass 动态引用变量是不可能的。在您的情况下,您可以简单地使用 map@each 循环:

    $colors: (orange: g.$orange, teal: g.$teal, dark-teal: g.$dark-teal, ...)
    
    @each $colorName, $color in $colors
        .box-heading_#{$colorName}
            background-color: $color
    

    【讨论】:

      猜你喜欢
      • 2014-03-03
      • 2012-10-09
      • 2013-04-15
      • 2021-10-29
      • 1970-01-01
      • 2012-01-05
      • 1970-01-01
      相关资源
      最近更新 更多