SASS中如何创建嵌套数组?(非SCSS语法)
在SASS缩进语法中实现嵌套Map的正确方式
首先要明确:你在SCSS中写的其实是嵌套Map(并非数组),SASS的缩进语法完全支持这种结构,但你的写法缺少了关键的括号,导致解析报错。
SCSS中的嵌套Map写法(参考)
$clr: ( prim: ( step1: #8ef99e, step2: #76f789, step3: #5ef674, step4: #46f460, step5: #2ef34b, step6: #0de12c, step7: #0cc927, step8: #0ab123, step9: #09991e, step10: #078119, step11: #066814 ), light: ( step1: #ffffff, step2: #f7f7f7, step3: #f0f0f0, step4: #e8e8e8, step5: #e0e0e0, step6: #d9d9d9 ) );
SASS缩进语法的正确写法
SASS的缩进语法不需要大括号,但Map结构仍然需要用圆括号包裹,同时注意子Map的缩进和逗号分隔:
$clr: ( prim: ( step1: #8ef99e step2: #76f789 step3: #5ef674 step4: #46f460 step5: #2ef34b step6: #0de12c step7: #0cc927 step8: #0ab123 step9: #09991e step10: #078119 step11: #066814 ), light: ( step1: #ffffff step2: #f7f7f7 step3: #f0f0f0 step4: #e8e8e8 step5: #e0e0e0 step6: #d9d9d9 ) )
你的写法错误原因
你直接去掉了所有括号,SASS解析器无法识别这是一个Map结构,所以抛出Expected expression错误。缩进语法只是替代了大括号的层级划分,但Map的核心定义(圆括号)不能省略。
内容的提问来源于stack exchange,提问作者Omaru
相关产品推荐
相关产品推荐

