// 合并 map @function map-deep-merge($parent-map, $child-map) { $result: $parent-map; @each $key, $child in $child-map { $parent-has-key: map-has-key($result, $key); $parent-value: map-get($result, $key); $parent-type: type-of($parent-value); $child-type: type-of($child); $parent-is-map: $parent-type == map; $child-is-map: $child-type == map; @if (not $parent-has-key) or ($parent-type != $child-type) or (not ($parent-is-map and $child-is-map)) { $result: map-merge($result, ($key: $child)); } @else { $result: map-merge($result, ($key: map-deep-merge($parent-value, $child))); } } @return $result; } ;