Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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
Loops 如何使用@loop在LESS中创建类数组_Loops_Less - Fatal编程技术网

Loops 如何使用@loop在LESS中创建类数组

Loops 如何使用@loop在LESS中创建类数组,loops,less,Loops,Less,如何用@loop或其他方法创建以下类数组 .margin-top--1{ margin-top:-1rem; } .margin-top--0-5{ margin-top:-0.5rem; } .margin-top-0{ margin-top:0rem; } .margin-top-0-5{ margin-top:0.5rem; } .margin-top-1{ margin-top:1rem; } 我对“更少”不太了解,所以可能有一个更干净的解决方案

如何用@loop或其他方法创建以下类数组

.margin-top--1{
    margin-top:-1rem;
}
.margin-top--0-5{
    margin-top:-0.5rem;
}
.margin-top-0{
    margin-top:0rem;
}
.margin-top-0-5{
    margin-top:0.5rem;
}
.margin-top-1{
    margin-top:1rem;
}

我对“更少”不太了解,所以可能有一个更干净的解决方案,但这至少应该有效

使用循环,就像您尝试过的,但将值中的点替换为破折号,所以选择器是正确的

要转义值:

  • 使用format函数()将索引值转换为字符串
  • 使用replace函数()将点替换为破折号
  • 通过转义函数()将值传递给带引号后,将其赋值
  • 
    div{
    保证金:0;
    边框:1px纯黑;
    背景:白色;
    颜色:黑色;
    }
    @环边顶部:1;
    .当(@i>=-1)时循环页边距顶部(@i){
    @逸出值:e(替换(%(%s“,@i),“\”,“-”,“g”);
    .margin top-@{escapedValue}{
    页边顶部:~“@{i}rem”;
    }
    .环边顶部(@i-0.5);
    }
    .循环页边距顶部(@循环页边距顶部);
    1.
    0.5
    0
    -0.5
    -1
    
    Hi wermus,我编辑了您的问题,以包含您发送给我的代码(或者您可以自己编辑,因为我不确定我的编辑是否会被批准:)。我在下面补充了答案。