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;
  }
}
相关推荐
柒昀26 分钟前
Vue.js
前端·javascript·vue.js
2201_7578308728 分钟前
Stream的终结方法
java·服务器·前端
进阶的鱼31 分钟前
React+ts+vite脚手架搭建(五)【登录篇】
前端·javascript
safestar201232 分钟前
React深度实战:从组件抽象到性能优化的思考历程
前端·javascript·react.js
洗澡水加冰39 分钟前
VSCode插件: 自动临时分配Theme以区分不同窗口
前端·typescript·visual studio code
我叫张小白。40 分钟前
TypeScript类型断言与类型守卫:处理类型的不确定性
前端·javascript·typescript
阿笑带你学前端1 小时前
Flutter 实战:为开源记账 App 实现优雅的暗黑模式(Design Token + 动态主题)
前端
天渺工作室1 小时前
Chrome浏览器自带翻译的诡异Bug:ID翻译后竟然变化了
前端·chrome
daols882 小时前
vxe-table 如何实现跟 excel 一样的筛选框,支持字符串、数值、日期类型筛选
前端·javascript·excel·vxe-table
青青子衿悠悠我心2 小时前
围小猫秘籍
前端