当前位置: 首页 > article >正文

【sass】sass中两种去重的方法:混合 - mixin/include、继承 - extend

目录

  • 原样式代码
  • 去重1 - 混合 mixin
  • 去重2 - 继承 @extend
    • 继承类
    • 继承抽象类

原样式代码

原样式代码

.tip {
  margin: 10px;
  padding: 10px;
  font-size: 14px;
  font-weight: bold;
}
.tip_success {
  margin: 10px;
  padding: 10px;
  font-size: 14px;
  font-weight: bold;
  color: green;
}
.tip_warning {
  margin: 10px;
  padding: 10px;
  font-size: 14px;
  font-weight: bold;
  color: orange;
}
.tip_error {
  margin: 10px;
  padding: 10px;
  font-size: 14px;
  font-weight: bold;
  color: red;
}

去重1 - 混合 mixin

去重样式代码

@mixin tip {
  margin: 10px;
  padding: 10px;
  font-size: 14px;
  font-weight: bold;
}
.tip_success {
  @include tip;
  color: green;
}
.tip_warning {
  @include tip;
  color: orange;
}
.tip_error {
  @include tip;
  color: red;
}

编译后样式代码

.tip {
  margin: 10px;
  padding: 10px;
  font-size: 14px;
  font-weight: bold;
}
.tip_success {
  margin: 10px;
  padding: 10px;
  font-size: 14px;
  font-weight: bold;
  color: green;
}
.tip_warning {
  margin: 10px;
  padding: 10px;
  font-size: 14px;
  font-weight: bold;
  color: orange;
}
.tip_error {
  margin: 10px;
  padding: 10px;
  font-size: 14px;
  font-weight: bold;
  color: red;
}

可以看到编译后代码与原代码一致,只是编写代码便捷了,没有起到简化的作用,

  • 体积大,传输效率慢,会出现白屏问题

去重2 - 继承 @extend

继承类

去重样式代码

.tip {
  margin: 10px;
  padding: 10px;
  font-size: 14px;
  font-weight: bold;
}
.tip_success {
  @extend .tip;
  color: green;
}
.tip_warning {
  @extend .tip;
  color: orange;
}
.tip_error {
  @extend .tip;
  color: red;
}

编译后样式代码

.tip,
.tip_success,
.tip_warning,
.tip_error {
  margin: 10px;
  padding: 10px;
  font-size: 14px;
  font-weight: bold;
}
.tip_success {
  color: green;
}
.tip_warning {
  color: orange;
}
.tip_error {
  color: red;
}

编译后重复的代码都写在一起,代码比原代码简洁

继承抽象类

去重样式代码

%tip {
  margin: 10px;
  padding: 10px;
  font-size: 14px;
  font-weight: bold;
}
.tip_success {
  @extend %tip;
  color: green;
}
.tip_warning {
  @extend %tip;
  color: orange;
}
.tip_error {
  @extend %tip;
  color: red;
}

编译后样式代码

.tip_success,
.tip_warning,
.tip_error {
  margin: 10px;
  padding: 10px;
  font-size: 14px;
  font-weight: bold;
}
.tip_success {
  color: green;
}
.tip_warning {
  color: orange;
}
.tip_error {
  color: red;
}

编译后代码中没有 .tip 样式,代码更简洁


http://www.kler.cn/a/387273.html

相关文章:

  • 速盾:cdn和反向代理的关系是什么?
  • 准确--FastDFS快速单节点部署
  • 「QT」几何数据类 之 QLine 整型直线类
  • nuxt3添加wowjs动效
  • 2024年【汽车修理工(高级)】考试试卷及汽车修理工(高级)证考试
  • Python酷库之旅-第三方库Pandas(206)
  • 【热门主题】000039 物联网智能项目:开启智慧未来新篇章
  • Xilinx FPGA的Vivado开发流程
  • HDR视频技术
  • C++20 概念与约束(1)—— SFINAE
  • Excel快捷键大全
  • 数据结构 C/C++(实验二:栈)
  • Node.js——fs模块-路径补充说明
  • 网络安全从零开始学习CTF——CTF基本概念
  • 使用vite构建一个react网站,并部署到Netlify上
  • DSP28335学习笔记-4
  • 计算机网络:简述LAN口模式下NAT和代理的区别
  • 【销帮帮-注册_登录安全分析报告-试用页面存在安全隐患】
  • elementUI 点击弹出时间 date-picker
  • 基于微信的追星小程序+ssm(lw+演示+源码+运行)
  • 大华Android面试题及参考答案
  • 100种算法【Python版】第50篇——Tim Sort
  • Qt:QPdfDocument渲染PDF文件时的信息丢失问题
  • 第73期 | GPTSecurity周报
  • FileLink如何帮助医疗行业实现安全且高效的跨网文件交换
  • Ngnix