[Day 18] Sass - Mixins

@mixin 与 @include
@mixin通常与@include一起使用,
@mixin用来定义需要重复使用的样式,@include用来将@mixin的内容涵盖进来。
我们通常把它用在一些“非真实意义”的clas样式上,
这样讲有点绕口,举例来说:
有时候我们会设一个class为“.reset-list”,里面用来放一些在reset时会重复使用的样式(非真实意义的class),
这时就可以使用@mixin先将.reset-list中的样式定义出来,
之後要用的时候再使用@include将@mixin内的样式涵盖进来~
话不多说,我们一起来看看吧!

//定义reset时会重复使用的样式
@mixin reset-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

@mixin horizontal-list {
  @include reset-list; //horizontal-list中涵盖reset样式

  //horizontal-list内的li样式
  li {
    display: inline-block;
    margin: {
      left: -2px;
      right: 2em;
    }
  }
}

nav ul {
  @include horizontal-list;
} //将上述"horizontal-list样式"、"horizontal-list内的li样式"都一起涵盖进来

来看看css会变怎样

//nav ul涵盖horizontal-list样式,horizontal-list样式又涵盖了reset样式
nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
//nav ul涵盖horizontal-list样式,horizontal-list内还有li的样式
nav ul li {
  display: inline-block;
  margin-left: -2px;
  margin-right: 2em;
}

当然,@mixin的用法不只如此,
如果有兴趣的话,可以到
https://www.sasscss.com/documentation/at-rules/mixin
看到更多有趣的用法喔!


<<:  【没钱买ps,PyQt自己写】Day 16 - 在 PyQt5 中取得图片座标 (滑鼠位置) mousePressEvent,观察图片在 Qt 中产生的方式,对原图进行座标换算处理

>>:  Day15:关於 WebRTC

【Day.28】React进阶 - 导入Redux,让元件沟通更简洁

当专案中的阶层变复杂,state和props变的很多,资料在多层component之间的传递也越来越...

DAY20 - [JS] 小结与番外篇:浅拷贝 与 深拷贝

今日文章目录 番外篇:浅拷贝 番外篇:深拷贝 小结 ToDoList + 番茄钟时间管理,整体上练...

【PHP 设计模式大头菜】模板方法 Template Method

模板方法 Template Method 模板方法,是一种如果这包水泥我有、你也有,就连乔瑟夫都有...

[Day 21] Facial Recognition: 只需要OpenCV就可以达成即时人脸辨识

昨天的内容还可以吸收吗? 也许有人会问: 这些神经网路模型还有GPU、CUDA什麽的我都不懂,能不能...

企划实现(13)

GOOGLE登入 第一步:在firebase添加一个新的专案 第二步:选取android专案 第三步...