W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
從 Sass3.3 開始,樣式表作者可以使用 map 這種數(shù)據(jù)結(jié)構(gòu)—— Sass 團隊使 map 可以映射關(guān)聯(lián)數(shù)組、哈希表甚至是 Javascript 對象。map 是一種映射任何類型鍵值對(可以是任何類型,包括內(nèi)嵌 maps,不過不推薦這種內(nèi)嵌方式)的數(shù)據(jù)結(jié)構(gòu)。
map 的使用應(yīng)該遵循下述規(guī)范:
:
)之后添加空格;(
)要和冒號 (:
)寫在同一行;,
)結(jié)尾;,
),方便添加新鍵值對、刪除和重排已有鍵值對;)
);)
)和分號(;
)之間不使用空格和換行。示例:
// Yep
$breakpoints: (
'small': 767px,
'medium': 992px,
'large': 1200px,
);
// Nope
$breakpoints: ( small: 767px, medium: 992px, large: 1200px );
如果你感到困惑并想了解 Sass 的 map 到底有怎樣的魔力,請不要擔心,Sass 中始終存在一個自動保存運行過程的機制。
@mixin debug-map($map) {
@at-root {
@debug-map {
__toString__: inspect($map);
__length__: length($map);
__depth__: if(function-exists('map-depth'), map-depth($map), null);
__keys__: map-keys($map);
__properties__ {
@each $key, $value in $map {
#{'(' + type-of($value) + ') ' + $key}: inspect($value);
}
}
}
}
}
如果你想深入了解 map 的實現(xiàn)機制,可以添加下述函數(shù)。該混合宏可以自動顯示 map 的運行機制。
/// Compute the maximum depth of a map
/// @param {Map} $map
/// @return {Number} max depth of `$map`
@function map-depth($map) {
$level: 1;
@each $key, $value in $map {
@if type-of($value) == 'map' {
$level: max(map-depth($value) + 1, $level);
}
}
@return $level;
}
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: