Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 用于处理阵列的Sass | Mixin_Arrays_List_Sass - Fatal编程技术网

Arrays 用于处理阵列的Sass | Mixin

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);

大家好,有人能帮我解决这个问题吗 你可以看到我得到了一些东西,但我想要的是 要从三个不同的数组生成border属性并合并它们的第n个索引

$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抱歉,这不是我得到的输出