在SCSS(SASS)中通过for循环(001~100)将类名的数量计数到3位
P粉428986744
P粉428986744 2024-04-04 17:25:46
0
1
489

如何将 $i 编译为“3 位数字”?

@for $i from 1 through 100 {
  .bg-image#{$i} {
    background-image: url("folder/bg-image#{$i}.jpg");
  }
}

我希望它像这样编译。

.bg-image001 {
  background-image: url("folder/bg-image001.jpg");
}
.bg-image002 {
  background-image: url("folder/bg-image002.jpg");
}
...
.bg-image099 {
  background-image: url("folder/bg-image099.jpg");
}
.bg-image100 {
  background-image: url("folder/bg-image100.jpg");
}

我尝试过这样的方式: https://www.sassmeister.com/gist/7581995

这样: .bg-image#{"d" % $i}

但在 webstorm 中出现错误。

还有其他好的方法吗? 感谢您的帮助。

P粉428986744
P粉428986744

全部回复(1)
P粉449281068

https://www.sassmeister.com/gist/7581995 这样, 这是构建过程中出现间距的问题。

我是这样解决的:

@function zerofill($i) {
  @return #{str-slice("000",0,3 - str-length(#{$i}))}+$i;
}

@for $i from 1 through 100 {
  $i: zerofill($i);
  #layer-#{$i} { background: url('../layers/layer-#{$i}.png'); }
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板