0
如何將映射合併到sass中的現有映射中?「添加新元素到映射後,不是map-get'的映射」
我目前使用的青菜地圖在_config
部分來定義我的斷點,例如:
$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));
問題是,斷點mixin沒有看到$breakpoints
列表中的新值,並且SASS拋出以下錯誤:
Error: $map: (("small" 35rem), ("medium" 55rem), ("large" 75rem), ("xlarge" 90rem), ("element-breakpoint-1" 100rem)) is not a map for `map-get'
OooOOOooo這看起來很有希望!當我回到辦公室時,威爾會給你一個旋轉。 – nickspiel 2014-12-11 01:48:51