我正在尝试从以下列表中获取特定选择器,以使两个属性和所有其他选择器具有单个属性。
我尝试了以下代码,但看起来,每个选择器都会获得if函数内部类定义的属性。
$items: (one 20% 30%) (two 12% 24%) (three 34% 32%) (four 45% 50%);
@each $item in $items {
@if #{nth($item, 1)} == one or three {
.#{nth($item, 1)} {
left: #{nth($item, 2)};
bottom: #{nth($item, 3)};
}
} @else {
.#{nth($item, 1)} {
left: #{nth($item, 2)};
}
}
}
我想要达到的结果是:
.one {
left: 20%;
bottom: 30%;
}
.two {
left: 12%;
}
.three {
left: 34%;
bottom: 32%;
}
.four {
left: 45%;
}
答案 0 :(得分:2)
问题在于你的逻辑。您的if语句有两个表达式:(nth($item, 1) == one) or (three)
。 three
部分始终评估为真。
$items: (one 20% 30%) (two 12% 24%) (three 34% 32%) (four 45% 50%);
@each $item in $items {
@if nth($item, 1) == one or nth($item, 1) == three {
.#{nth($item, 1)} {
left: #{nth($item, 2)};
bottom: #{nth($item, 3)};
}
} @else {
.#{nth($item, 1)} {
left: #{nth($item, 2)};
}
}
}