css - 使用列表中的值作为选择器 SCSS
问题描述
我将一个列表传递给一个 mixin 以减少我必须传递给我的 mixin 的参数数量。mixin 代码如下所示。
@mixin colorMedal($medalData) {
background-image: linear-gradient(
45deg,
nth($medalData,2) 0%,
nth($medalData,2) 50%,
nth($medalData,1) 50.1%,
nth($medalData,1) 100%
);
#{nth($medalData,0)} ~ .medal__ribbon--left {
background: nth($medalData,3);
}
#{nth($medalData,0)} ~ .medal__ribbon--right {
background: nth($medalData,4);
}
}
我通过的列表看起来像这样
$platinum: ".medal__platinum", $medal-platinum, $medal-platinum-dark,
$medal-platinum-ribbon, $medal-platinum-ribbon-dark;
mixin 的调用是:
@include colorMedal($platinum);
似乎导致编译错误的代码是
#{nth($medalData,0)}
必须有一种方法可以做到这一点,因为您可以自己传递多个值。有没有办法将列表中的值用作选择器?
解决方案
sass 列表从索引 1 开始而不是 0
所以改变这个
#{nth($medalData,0)}
至
#{nth($medalData,1)}
您可以在 codepen 中调试更改
推荐阅读
- pine-script - 除当前柱线外,如何绘制蜡烛的高点和低点?
- r - 从R中的字符串压缩多个换行符\ n和制表符\ t
- spring-boot - Spring boot api消耗不与文件和json的multipart一起使用
- stream - 语法上的存储库失败
- python-3.x - 从 Dataframe 中删除行上方或下方的行在特定列中具有相同值的行
- json - SpringBoot JSON 没有反序列化到我的请求模型中
- android - 如何重建 listview.builder?
- python - Python Beautiful Soup 仅在文本匹配时抓取?
- javascript - 正在尝试添加帖子
- java - 使用 WebClient 时有没有办法同时获取状态和正文?