【问题标题】:SASS List Not WorkingSASS 列表不起作用
【发布时间】:2018-05-30 13:44:27
【问题描述】:

我正在尝试使 SASS 列表正常工作,但它给了我问题。你们中的任何人都可以指导我做错了什么并给出解决方案吗?

$colors: #02ce53, #05d297, #10cbc2, #e45042, #fe7e10, #01a2f0 
@each $color in $colors
    p
        color: $color

我生成的 CSS 如下所示:

p {
  color: #02ce53; }

p {
  color: #05d297; }

p {
  color: #10cbc2; }

p {
  color: #e45042; }

p {
  color: #fe7e10; }

p {
  color: #01a2f0; }

我实际上希望每个 p 标签具有基于 SASS 列表中提到的颜色序列的颜色。我怎样才能拥有它?

【问题讨论】:

    标签: function sass each mixins


    【解决方案1】:

    您可以在@each 指令中使用index($list,$value) 获取列表的索引并将其用作nth-child 索引:

    $colors: #02ce53, #05d297, #10cbc2, #e45042, #fe7e10, #01a2f0
    
    @each $color in $colors
      p:nth-child(#{index($colors, $color)})
        color: $color
    

    这将为您提供以下信息:

    p:nth-child(1) {
      color: #02ce53;
    }
    
    p:nth-child(2) {
      color: #05d297;
    }
    
    p:nth-child(3) {
      color: #10cbc2;
    }
    
    p:nth-child(4) {
      color: #e45042;
    }
    
    p:nth-child(5) {
      color: #fe7e10;
    }
    
    p:nth-child(6) {
      color: #01a2f0;
    }
    

    【讨论】:

    • 谢谢,列表现在可以正常工作,但完全不是我想要的样子。生成后,CSS 是这样的: p { color: #02ce53; } p { 颜色:#05d297; } p { 颜色:#10cbc2; } p { 颜色:#e45042; } p { 颜色:#fe7e10; } p { 颜色:#01a2f0;但正如你所理解的,我希望 p 标签的第 n 个孩子具有第 n 个颜色的颜色......请帮助
    • 对不起,我的误解。现在我明白你的意思了。我编辑我的原始答案。我希望这会有所帮助。
    • 谢谢,它解决了这个问题 :) 顺便问一下,是否可以使用任何 SASS 函数来确定任何容器的子级数量?
    • 好吧,在 SASS 中有列表。您可以使用 length($list) 列表函数。如果您想使用“@for”而不是“@each”指令(例如:“@for $i from 1 through length($list)”),可以使用它。
    • 你能帮我在这里找到答案吗? stackoverflow.com/questions/47895004/…
    猜你喜欢
    • 2017-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-10
    • 1970-01-01
    • 2014-11-06
    相关资源
    最近更新 更多