sass - 如何从 SCSS Map 中 @each 循环内的键中获取嵌套值
问题描述
我正在尝试从 SCSS 映射的 @each 循环中的键内的键访问特定值。
我需要在地图中有两个左侧位置:一个用于桌面,另一个用于移动,但很难从左侧获取值。我不知道该怎么做。
我确实有一个map-deep-get 函数,但是在 @each 循环内部它会中断。如果没有其他功能,我正在尝试做的事情是否可行?
我在下面有一些注释掉的尝试,但一切都失败了。不完全确定如何处理,感谢您提供的任何帮助。
$character-map: (
billy: (
name: 'billy',
color: $colour-light-blue,
left: (-1px, -2px),
)
);
@each $key, $value in $character-map {
&.dialogue-item-#{map-get($value, name)},
&.guide-item-#{map-get($value, name)} {
.character-head {
background: lighten(map-get($value, color), 18%);
border-color: map-get($value, color);
// Actual Characters Head
img {
@include media-breakpoint-up(sm) {
//left: map-get(($value, left), nth($value, 1));
//left: map-get($value, nth(left, 1));
}
}
}
}
}
解决方案
我已经通过大量实验弄清楚了,也许这会对正在寻找的人有所帮助。
如果你稍微改变一下地图,你就可以做到这一点。
$character-map: (
billy: (
name: 'billy',
color: $colour-light-blue,
left: (
default: -9px,
mobile: -2px
),
)
);
@each $key, $value in $character-map {
left: map-get(map-get($value, left), default);
}
将编译为left: 9px;
推荐阅读
- arrays - 如何在c编程中将数组的最后一个元素移动到另一个数组的第一个元素
- python - 如何按熊猫数据框循环分组?
- javascript - 如何从 JavaScript 中的对象中删除方括号 []
- python - 数据框使用 set() 查找 2015 年的所有新计算机
- javascript - 在 SVG 文本旁边添加图标
- python-3.x - 在 AWS sagemaker 中自定义模型
- python - 从多个变量(是/否)的组合中提取单个变量(是/否)
- overpass-api - 提取带有立交桥的建筑物几何图形
- wordpress - 导出 WordPress 完整 URL 列表以进行重定向(网站迁移)
- batch-file - 如何在 Inno Setup 中捕捉 bat 文件删除文件的错误信息?