less和scss循环生成margin和padding

less

javascript 复制代码
// 循环生成 margin padding
.padding(@n, @i: 1) when (@i =< @n) {
  .pt-@{i} {
    padding-top: @i + 0px;
  }
  .pr-@{i} {
    padding-right: @i + 0px;
  }
  .pb-@{i} {
    padding-bottom: @i + 0px;
  }
  .pl-@{i} {
    padding-left: @i + 0px;
  }
  .p-@{i} {
    padding: @i + 0px;
  }
  .padding(@n, (@i + 1));
}

.margin(@n, @i: 1) when (@i =< @n) {
  .mt-@{i} {
    margin-top: @i + 0px;
  }
  .mr-@{i} {
    margin-right: @i + 0px;
  }
  .mb-@{i} {
    margin-bottom: @i + 0px;
  }
  .ml-@{i} {
    margin-left: @i + 0px;
  }
  .m-@{i} {
    margin: @i + 0px;
  }
  .margin(@n, (@i + 1));
}

.padding(200);
.margin(200);

scss

javascript 复制代码
// 循环生成 margin padding
@for $i from 0 through 200 {
  .m-#{$i} {
    margin: $i + px !important;
  }

  .mt-#{$i} {
    margin-top: $i + px !important;
  }

  .mb-#{$i} {
    margin-bottom: $i + px !important;
  }

  .ml-#{$i} {
    margin-left: $i + px !important;
  }

  .mr-#{$i} {
    margin-right: $i + px !important;
  }

  .p-#{$i} {
    padding: $i + px !important;
  }

  .pt-#{$i} {
    padding-top: $i + px !important;
  }

  .pb-#{$i} {
    padding-bottom: $i + px !important;
  }

  .pl-#{$i} {
    padding-left: $i + px !important;
  }

  .pr-#{$i} {
    padding-right: $i + px !important;
  }
}
相关推荐
酉鬼女又兒16 分钟前
HTML零基础快速入门篇(可用于备赛蓝桥杯Web应用开发) 牛客手把手戴刷FED1~8:基本标签,基本标签,媒体标签详解
前端·职场和发展·蓝桥杯·html·web
weixin1997010801620 分钟前
搜好货商品详情页前端性能优化实战
java·前端·python
SuperEugene26 分钟前
NPM Script 实战:常用命令设计与封装|Vue 工程化篇
前端·javascript·vue.js·前端框架·npm
前端进阶之旅30 分钟前
React 18 并发特性实战指南:提升大型应用性能的关键技术
前端·react.js·前端框架
恋猫de小郭31 分钟前
Android 性能迎来提升:内核引入 AutoFDO 普惠所有 15-16 设备
android·前端·flutter
小霍同学34 分钟前
Vue 动态表单(Dynamic Form)
前端·vue.js
Dragon Wu40 分钟前
Taro 小程序开发注意事项(不定期记录更新)
前端·javascript·小程序·typescript·taro
wangfpp42 分钟前
多端统一你真的会了吗?
前端·javascript·架构
小霍同学42 分钟前
Vue 动态组件(Dynamic Components)
前端·vue.js
代码煮茶1 小时前
Vue3 组件封装实战 | 从 0 封装一个可复用的表格组件(附插槽 / Props 设计)
前端·vue.js