【发布时间】:2015-02-09 09:44:23
【问题描述】:
如何将映射合并到 sass 中的现有映射中?
我目前在 _config 部分中使用 sass 映射来定义我的断点,例如:
$breakpoints: (
small: 35rem,
medium: 55rem,
large: 75rem,
xlarge: 90rem,
element-breakpoint-1: 100rem,
element-breakpoint-2: 110rem
);
@mixin breakpoint($width) {
@media screen and (min-width: map-get($breakpoints, $width)) {
@content;
}
}
.element {
width: 100px;
@include breakpoint(element-breakpoint-1) {
width: 200px;
}
@include breakpoint(element-breakpoint-2) {
width: 300px;
}
}
理想情况下,我希望能够向现有映射添加新断点:
@function array-append($list, $value) {
@return join($list, $value);
}
$breakpoints: array-append($breakpoints, (element-breakpoint-1: 100rem, element-breakpoint-1: 110rem));
问题是断点混合在$breakpoints 列表中看不到新值,SASS 抛出以下错误:
错误:$map: (("small" 35rem), ("medium" 55rem), ("large" 75rem), ("xlarge" 90rem), ("element-breakpoint-1" 100rem)) 不是`map-get' 的地图
【问题讨论】:
标签: sass