当前位置: 首页 > 面试题库 >

Sass @each具有多个变量

万俟铭
2023-03-14
问题内容

我刚刚开始使用Sass和Compass,我喜欢它。我想做的就是利用该@each功能简化重复性任务。但是,我仅看到了@each插入一个变量的示例,并且我希望能够使用多个变量。

标准方式(来自[Sass参考):

@each $animal in puma, sea-slug, egret, salamander {
  .#{$animal}-icon {
    background-image: url('/images/#{$animal}.png');
  }
}

很棒,但是我希望能够执行以下操作:

@each {$animal $color} in {puma black}, {sea-slug green}, {egret brown}, {salamander red} {
  .#{$animal}-icon {
    background-color: #{$color};
  }
}

这可能吗?


问题答案:

我在同一条船上(Sass / Compass的初学者),不得不做类似的事情。这是我使用嵌套列表想到的:

$flash_types: (success #d4ffd4) (error #ffd5d1);

@each $flash_def in $flash_types {
    $type: nth($flash_def, 1);
    $colour: nth($flash_def, 2);

    &.#{$type} {
        background-color: $colour;
        background-image: url(../images/#{$type}.png);
    }
}

这不是最优雅的解决方案,但是如果您找不到其他任何东西,它应该可以工作。希望能帮助到你!我也希望有更好的方法:)



 类似资料:
  • 我想保留一个中央的.scss文件,该文件存储项目的所有SASS变量定义。 该项目将有大量的CSS文件,由于其性质。重要的是,我要在一个位置声明所有项目范围的样式变量。 在SCSS中有办法做到这一点吗?

  • 问题内容: 我想保留一个中央.scss文件,该文件存储项目的所有SASS变量定义。 由于其性质,该项目将具有大量CSS文件。我必须在一个位置声明所有项目范围的样式变量,这一点很重要。 有没有办法在SCSS中做到这一点? 问题答案: 您可以这样做: 我有一个名为Utility的文件夹,并且在其中有一个名为_variables.scss的文件 在该文件中,我这样声明变量: 然后我有style.scss

  • 我正在努力使我的网站更加SEO友好,我目前正在使用 将转换为 我还想将其用于子页面。我试过这个: 但是它不工作,它运行,但是当您转到时,它返回未找到的404。 我希望它运行并返回 或 site.co.uk/page_name/sub_page并返回sub_page 等等等等

  • 本文向大家介绍sass 变数,包括了sass 变数的使用技巧和注意事项,需要的朋友参考一下 示例 如果您具有经常使用的值,则可以将其存储在变量中。例如,您可以使用它来定义配色方案。您只需要定义一次方案,然后就可以在整个样式表中使用它。 要定义变量,必须在变量名前加上$符号。(就像您在PHP中一样。) 您可以将任何有效的CSS属性值存储在变量中。例如颜色,字体或URL。 范例1:          

  • 问题内容: 有什么方法可以根据html元素上的类设置颜色变量?还是通过其他方式实现这一目标? 问题答案: 这是基本主题。您可能想使用mixin或包含一个CSS文件中的多个主题。这是使用包括以下内容的方法: _theme.scss main.scss 您可以轻松地制作一个混合色,它使用3种颜色作为其参数来代替include:

  • 问题内容: 我有几个scss选择器,在其中我使用相同数量的正负值,如下所示: 我希望对所有15px的量都使用一个变量,但这不起作用: 保证金金额转换为正数。我想念什么吗? 问题答案: 像这样尝试