sass - Shopify 中循环中的 Sass 变量串联
问题描述
我的 SCSS 在 sassmeister 1上编译得很好:
$black: "black_rgb(0,0,0)";
$honey-brown: "honey-brown_rgb(144,122,106)";
$red: "red_rgb(255,0,0)";
$paints: $black, $honey-brown, $red;
@each $color in $paints {
$colSplit: str-index($color, _);
$colName: str-slice($color, 1, $colSplit - 1);
$colVal: str-slice($color, $colSplit + 1);
.paint-#{$colName}-paint {background-color: #{$colVal};}
}
但是 Shopify 抛出错误:
“.paint-str-slice”之后的无效 CSS:预期的选择器,在 9706 为“(”black_rgb(0,0...)
所以看起来变量连接.paint-#{$colName}-paint
不能正常工作。
我不确定这是否与软件版本有关 - 我将 Sassmeister 设置为最低设置(v3.3.14),但它仍然可以正常工作。我不知道如何找出 Shopify 使用的 scss 版本。
解决方案
尝试使用地图:
$paints:(
black: rgb(0,0,0),
honey-brown: rgb(144,122,106),
red: rgb(255,0,0)
);
@each $name, $color in $paints {
.paint-#{$name}-paint {background-color: $color;}
}
推荐阅读
- mocking - 如何模拟期末课?
- google-chrome-devtools - 在 Chrome 开发工具调试器面板中,有没有办法重新排序部分?
- r - 如何在ggplot的文本框中使用LaTeX表达式
- amazon-web-services - AWS 上的动态客户端注册 OAuth2
- amazon-web-services - 将 AWS EFS 卷挂载到 Minikube
- javascript - 为什么我的打印预览使用 window.print 是空白的?
- sql - 重新编译变更表
- c# - 解压缩文件并将它们保存到 Blob 存储流
- docker - 无法使用 --restart 运行 Docker
- python - Seaborn pairplot 图例不显示颜色和标签