Arrays 用于处理阵列的Sass | Mixin
大家好,有人能帮我解决这个问题吗 你可以看到我得到了一些东西,但我想要的是 要从三个不同的数组生成border属性并合并它们的第n个索引Arrays 用于处理阵列的Sass | Mixin,arrays,list,sass,Arrays,List,Sass,大家好,有人能帮我解决这个问题吗 你可以看到我得到了一些东西,但我想要的是 要从三个不同的数组生成border属性并合并它们的第n个索引 $borderWidth: 1px 2px 3px; $borderStyle: 'solid' 'dashed' 'groovy'; $borderColor: 'red' 'green' 'yellow'; @mixin makeBorderFromArrays($lists...) { $listOfLists: length($lists);
$borderWidth: 1px 2px 3px;
$borderStyle: 'solid' 'dashed' 'groovy';
$borderColor: 'red' 'green' 'yellow';
@mixin makeBorderFromArrays($lists...) {
$listOfLists: length($lists);
@for $i from 1 through length($lists){
$array: nth($lists,$i);
.array-#{$i}{array:$array;}
@for $j from 1 through length($array){
$arrayItem: nth($array,$j);
.array-#{$i}-itemNumber-#{$j}{array-item:$arrayItem;}
}
}
}
@include makeBorderFromArrays($borderWidth, $borderStyle, $borderColor);
我不确定我是否得到了你想要的结果,但也许你可以试试下面的方法。如果这不是你想要的结果,那就告诉我
$borders: (
0: (
width: 1px,
type: 'solid',
color: 'red'
),
1: (
width: 2px,
type: 'dashed',
color: 'green'
),
2: (
width: 3px,
type: 'groovy',
color: 'yellow'
),
);
@mixin makeBorderFromArray($borders) {
@each $i, $border in $borders {
.array-#{$i} {
border: map-get( $border , width ) unquote( map-get( $border, type ) ) unquote( map-get( $border, color ) );
}
}
}
@include makeBorderFromArray($borders);
这将返回以下CSS:
.array-0 {
border: 1px solid red; }
.array-1 {
border: 2px dashed green; }
.array-2 {
border: 3px groovy yellow; }
如果使用多维数组或数组数组,是否可能?是否可以添加预期的输出?3个边框属性值:1px实心红色、2px虚线绿色、3px groovy黄色..rork,你是否检查过它?@muecas是的,我检查过,它工作正常。也许我不知道SCS和Sass之间有什么区别?但是你能定义什么不起作用吗?@muecas你能说出“这不起作用”是什么意思吗。我的意思是,它没有告诉我哪里出错输出:
(宽度:1px,键入:“solid”,颜色:“red”)不是有效的CSS值。
@muecas抱歉,这不是我得到的输出