我正在尝试更多地了解使用 SCSS 的创造性方法。我知道有人可能会使用 jQuery 来解决这个问题,但为了分离关注点,我想避免这条路线。
我有一个流动长度的元素列表(从 1 到 4 项长),其中一个我将分配一个类,例如“primary”。我正在使用 SCSS 为从 1 到 4 的列表长度生成选择器,如下所示:
@for $i from 1 through 4 {
li:first-child:nth-last-child(#{$i}),
li:first-child:nth-last-child(#{$i}) ~ li {
width: 100% / #{$i};
&.primary {
transform: scale(1.35);
background: red;
z-index: #{$i};
}
&.primary + * {
transform: scale(1.25);
background: orange;
z-index: #{$i - 1};
}
&.primary + * + * {
transform: scale(1.15);
background: yellow;
z-index: #{$i - 2};
}
}
}
有没有办法使用SCSS(我知道这在 CSS 目前是不可能的)来选择列表中 .primary 的下一个和上一个兄弟姐妹以使它们匹配?
请参阅此演示以供参考。在这种情况下,ITEM 2 是 .primary,ITEM 1 和 ITEM 3 分别是上一个和下一个兄弟。
我很感激任何帮助。