css的内容可以根据类名来取值吗,或者其他预处理工具

比如

.margin-left-XXX{
     margin-left:XXXpx
}

XXX是变量,我用的时候class="margin-left-20",自动就是20,这样

阅读 2.3k
2 个回答

写了一个demo,例如前期先在项目目录下创建一个common.less文件,文件下的代码如下

.generate-margin-left(50);
.generate-margin-left(@n, @i: 5) when (@i =< @n) {
    .margin-left-@{i} {
        margin-left: @i + 0px;
    }
    .generate-margin-left(@n, (@i+5));
  }

预生成自定义命名规则的样式,后期直接引用即可,当然生成条件可以按需调整。

顺路附上scss的写法

  @for $i from 1 through 10 {
    .margin-left-#{$i * 5} {
        margin-left: $i * 5px;
    }
}

用 stylus 可以做到,其它预处理工具也行。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题