SASS-访问多维数组的值

时间:2019-03-22 12:07:45

标签: css sass

我是SASS的新手。我创建了一个多维数组,如下所示:

$content: (
    width: 100%,
    content-header: (
        width: 320px
    ),
    content-main: (
        width: 100%
    ),
    content-footer: (
        width: 320px
    )
);

如何访问直接嵌套的数组值?

我要访问$content-main[width]。我该如何访问?

1 个答案:

答案 0 :(得分:0)

您正在使此操作变得比原本要难得多。如果需要循环遍历变量,则数组很有用,为此您需要使用map-get为此创建自己的sass函数。我强烈建议您仅使用命名空间变量,这些变量更简单,更便于移植,例如$content-width $content-main-width

如果您确实要这样做,请参见https://css-tricks.com/snippets/sass/deep-getset-maps/

/// Map deep get
/// @author Hugo Giraudel
/// @access public
/// @param {Map} $map - Map
/// @param {Arglist} $keys - Key chain
/// @return {*} - Desired value
@function map-deep-get($map, $keys...) {
    @each $key in $keys {
        $map: map-get($map, $key);
    }
    @return $map;
}

map-deep-get($content, "content-header", "width");