解析SASS列表以查找项目是否为';正确';并呈现一个CSS实例

解析SASS列表以查找项目是否为';正确';并呈现一个CSS实例,sass,Sass,我需要解析一个包含多个3项列表的列表,如下所示: $myList (item1, "something", true), (item2, "something", false), (item3, "something", true); 并找出这些列表中的第三项是否等于true。在本例中,在第一个和第三个列表中,第三项为true。此外,我需要检测并渲染,仅针对其中的一个实例,基于它渲染一些CSS @每个控制指令都可以解析它,但使用它的问题是,对于列表项为true的

我需要解析一个包含多个3项列表的列表,如下所示:

$myList (item1, "something", true),
        (item2, "something", false),
        (item3, "something", true);
并找出这些列表中的第三项是否等于
true
。在本例中,在第一个和第三个列表中,第三项为
true
。此外,我需要检测并渲染,仅针对其中的一个实例,基于它渲染一些CSS

@每个
控制指令都可以解析它,但使用它的问题是,对于列表项为true的每种情况,它都会呈现CSS

@each $item in $myList {
    @if nth($item, 3) {
        [class*="item"] {
            float: left;
        }
    }
}
如果第一项和第二项设置为
true
,则上述内容将呈现:

[class*="item"] {
    float: left;
}
[class*="item"] {
    float: left;
}

有人有什么想法吗?

您可以将CSS移到循环之外,并使用一个标志变量来跟踪是否应该包含它。例如:

$use-float: false;

@each $item in $myList {
    @if nth($item, 3) {
        $use-float: true;
    }
}

@if $use-float {
    [class*="item"] {
        float: left;
    }
}

您的列表与您生成的选择器有什么关联?谢谢,这很有效,现在我已经看到了您所做的,我想知道为什么我没有考虑它。哈哈,谢谢你的帮助。