首页 > 其他分享 >scss 通过@for循环动态创建多个class

scss 通过@for循环动态创建多个class

时间:2023-11-08 14:15:49浏览次数:28  
标签:scss 10 动态创建 width range class

项目中有些全局的.scss文件中一些关于设置width的class,如下:

.w50{
    width:50px;
}
.w60{
    width:60px;
}
.w70{
    width:70px;
}
.w80{
    width:80px;
}
.w90{
    width:90px;
}
.w100{
    width:100px;
}
.w110{
    width:110px;
}
.w120{
    width:120px;
}
.w130{
    width:130px;
}
.w140{
    width:140px;
}
.w150{
    width:150px;
}
.w160{
    width:160px;
}
.w170{
    width:170px;
}
.w180{
    width:180px;
}
.w190{
    width:190px;
}
.w200{
    width:200px;
}
.w210{
    width:210px;
}
.w220{
    width:220px;
}
.w230{
    width:230px;
}
.w240{
    width:240px;
}
.w250{
    width:250px;
}
.w260{
    width:260px;
}
.w270{
    width:270px;
}
.w280{
    width:280px;
}
.w290{
    width:290px;
}
.w300{
    width:300px;
}
.w310{
    width:310px;
}
.w320{
    width:320px;
}
.w330{
    width:330px;
}
.w340{
    width:340px;
}
.w350{
    width:350px;
}
.w360{
    width:360px;
}
.w370{
    width:370px;
}
.w380{
    width:380px;
}
.w390{
    width:390px;
}
.w400{
    width:400px;
}
.w410{
    width:410px;
}
.w420{
    width:420px;
}
.w430{
    width:430px;
}
.w440{
    width:440px;
}
.w450{
    width:450px;
}
.w460{
    width:460px;
}
.w470{
    width:470px;
}
.w480{
    width:480px;
}
.w490{
    width:490px;
}
.w500{
    width:500px;
}

非常长的代码,后续如果有需要可能还需要加入更多,这样不是很方便维护,于是改用scss中的for循序实现动态生成多个class

@for $i from 1 through 100 {
  .w#{($i * 10)} {
    width: 10px * $i;
  }
}

这里只有几行代码就实现了 w10--w1000的class对应width的设置,这样如果后续想增加更多,只需要调整对应的循环值即可

还有一种下面的方式 通过@for配合range来实现范围内的数据遍历,但是我本地语法检测工具会报错,所有没法验证是否能够动态创建
range函数可以生成一个指定范围的数字序列,第三个参数是步长

@for $i in range(10, 1001, 10) {
    .w#{$i} {
      width: $i * 1px ;
    }
   }

标签:scss,10,动态创建,width,range,class
From: https://www.cnblogs.com/qqcc1388/p/17817237.html

相关文章

  • vue-test ------class绑定
    <template><p:class="{'active':isActive}">Class样式绑定</p><p:class="Objec">Class样式绑定</p><p:class="[arrActive,arrHasErr]">Class样式绑定3</p><p:class="isActive......
  • uview:根据style某个样式,修改该class内的其他样式。
    背景:小程序使用uviewui,根据设计需要将选中的日期颜色变成绿色,但是api并没有相关属性。样式穿透,也没有可以区分选中和不选中的class。唯一能找到不一样的就是font-weight属性,选中的是bold,未选中的是normal。因此可以使用where来定位到该标签,从而修改其样式。 关键代码:.u-......
  • Django动态创建表模型,并使用drf
    序列化器fromrest_frameworkimportserializersclassMySerializer(serializers.ModelSerializer):"""序列化器"""classMeta:model=None#可以设置为None,动态生成之后,再通过反射来重新设置。fields='__all__'......
  • Java中的NoClassDefFoundError报错解析
    半夜睡得正香的时候,突然接到警告电话,于是翻起身就打卡电脑连上环境查看是什么情况?登录上之后发现有个微服务占用的句柄数量一直在持续上涨,最终导致了微服务内存溢出挂掉了。这个微服务在运行的过程中会建立SSH连接,且之前这个微服务已经遇到过很多次类似的情况了,因此第一反应是哪里......
  • Linux下用文件IO的方式操作GPIO(/sys/class/gpio)
    通过sysfs方式控制GPIO,先访问/sys/class/gpio目录,向export文件写入GPIO编号,使得该GPIO的操作接口从内核空间暴露到用户空间,GPIO的操作接口包括direction和value等,direction控制GPIO方向,而value可控制GPIO输出或获得GPIO输入。文件IO方式操作GPIO,使用到了4个函数open、close、read......
  • Java拾贝第十七天——反射之初认Class类
    反射反射可以在运行中知晓任意类的任意属性和方法。这种动态获取信息的功能称之为反射。小栗子packagemoudle2;publicclassTest17{publicstaticvoidmain(String[]args){Test17t17=newTest17();System.out.println(t17.getClass());......
  • qt---主进程加载一个子进程的方法以及其中遇到“Calling a private constructor of cl
    .proQT+=coreguigreaterThan(QT_MAJOR_VERSION,4):QT+=widgetsCONFIG+=c++17#YoucanmakeyourcodefailtocompileifitusesdeprecatedAPIs.#Inordertodoso,uncommentthefollowingline.#DEFINES+=QT_DISABLE_DEPRECATED_BEFORE=0......
  • 浅谈PHP框架中类成员方法的类类型形参是怎么利用ReflectionClass反射类自动实例化的(应
    说明1.或许是全网首发,我翻过很多文章,从未有一个博主讲过这个东西,很多博主只讲了IOC、DI和反射机制的常见用法,因类类型形参反射的巧妙用法有相当高的难度和学习盲区,所以从未有人讲过类类型的形参它怎么就被自动实例化的。2.在Laravel框架,或者是其它框架中,类的成员方法中形参的......
  • Guava中的增强Map - Table、BiMap、Multimap、RangeMap、ClassToInstanceMap
    1.简介  日常开发中使用Map时经常会遇到很多复杂的处理场景,例如:多个键的Map、不仅可以根据键获取值也可以根据值获取键且不用遍历、重复键的Map、数字等范围内映射相同的值、内存中缓存对象等,Guava提供了以上场景的解决方案。场景解决方案具体实现多个键的MapTabl......
  • 前端歌谣的刷题之路-第六十八题-js动态创建节点
     前言我是歌谣我有个兄弟巅峰的时候排名c站总榜19叫前端小歌谣曾经我花了三年的时间创作了他现在我要用五年的时间超越他今天又是接近兄弟的一天人生难免坎坷大不了从头再来歌谣的意志是永恒的放弃很容易但是坚持一定很酷本题目源自于牛客网微信公众号前端小歌谣题目......