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;
  }
}
相关推荐
leobertlan12 分钟前
2025年终总结
前端·后端·程序员
子兮曰35 分钟前
OpenClaw架构揭秘:178k stars的个人AI助手如何用Gateway模式统一控制12+通讯频道
前端·javascript·github
Howrun7771 小时前
VSCode烦人的远程交互UI讲解
ide·vue.js·vscode
百锦再1 小时前
Reactive编程入门:Project Reactor 深度指南
前端·javascript·python·react.js·django·前端框架·reactjs
莲华君1 小时前
React快速上手:从零到项目实战
前端·reactjs教程
百锦再1 小时前
React编程高级主题:测试代码
android·前端·javascript·react.js·前端框架·reactjs
易安说AI2 小时前
Ralph Loop 让Claude无止尽干活的牛马...
前端·后端
失忆爆表症3 小时前
05_UI 组件库集成指南:Shadcn/ui + Tailwind CSS v4
前端·css·ui
小迷糊的学习记录3 小时前
Vuex 与 pinia
前端·javascript·vue.js
发现一只大呆瓜4 小时前
前端性能优化:图片懒加载的三种手写方案
前端·javascript·面试