// 合并 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; 
 | 
}; 
 |