SASS 中的占位符%,@extend,@mixin(@include)的使用场景

2023-10-29

SASS在线编译网站

https://www.sassmeister.com/

占位符%

被声明为占位符的CSS类,不会出现在最终生成的CSS中

SASS代码

%log {
  display: block;
  color: black;
}

.log-debug {
  @extend %log;
  border: 1px solid blue;
}

.log-error {
  @extend %log;
  border: 3px dotted red;
}

编译后的CSS代码

.log-error, .log-debug {
  display: block;
  color: black;
}

.log-debug {
  border: 1px solid blue;
}

.log-error {
  border: 3px dotted red;
}

@extend

基础类有在最终的CSS中被使用到的情况,使用该标识

SASS代码

.log {
  display: block;
  color: black;
}

.log-debug {
  @extend .log;
  border: 1px solid blue;
}

.log-error {
  @extend .log;
  border: 3px dotted red;
}

编译后的CSS代码

.log, .log-error, .log-debug {
  display: block;
  color: black;
}

.log-debug {
  border: 1px solid blue;
}

.log-error {
  border: 3px dotted red;
}

@mixin(@include)

@mixin 是直接将代码复制到其他类里面,这样会导致生成的CSS过大,所以如果能用@extend,尽量使用@extend

SASS代码

@mixin log($color: black) {
  display: block;
  color: $color;
}
.log-debug {
  @include log;
  border: 1px solid green;
}
.log-warn {
  @include log(yellow);
  border: 1px solid yellow;
}

.log-error {
  @include log(red);
  border: 3px dotted red;
}

编译后的CSS代码

.log-debug {
  display: block;
  color: black;
  border: 1px solid green;
}

.log-warn {
  display: block;
  color: yellow;
  border: 1px solid yellow;
}

.log-error {
  display: block;
  color: red;
  border: 3px dotted red;
}

总结

  • 如果基础类在最终的CSS中有用到,则尽量用 @extend;否则使用占位符%
  • 基础类需要传参,那么就只能使用 @mixin(@include)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SASS 中的占位符%,@extend,@mixin(@include)的使用场景 的相关文章

  • OpenCV人脸识别的原理

    在之前讲到的人脸测试后 提取出人脸来 并且保存下来 以供训练或识别是用 提取人脸的代码如下 void GetImageRect IplImage orgImage CvRect rectInImage IplImage imgRect do
  • 13-1 可执行程序的编译过程

    1 编译流程 使用 gcc 编译器 将源代码 c 文件一步一步编译至可执行程序 gcc 编译器在 Windows Linux Mac 均可正常编译 编译具体过程如下 1 打开 msys 目录下的 mingw64 exe 跳转至待编译源码的目
  • ISCC——美人计

    拿到题目下载文件 得到一张照片 还有一张二维码扫码结果 U2FsdGVkX1 Ka sScszwQkwhO VLiJwV 6IFg5W TfNHGxG2qZsIr2iwMwb9X9Iu3GuGWmPOtO27z8vNppD2D50fwsD
  • PowerDNS篇1-简介和安装

    本文主要介绍PowerDNS的主要特性和初始化安装的配置方法 侧重点是对复杂程度相对较高PowerDNS Authoritative Server进行介绍 同时会夹杂部分PowerDNS Recursor的初始化安装和配置 1 PowerD
  • 【AI编程工具合集】42 款 AI 代码助手工具大盘点!开发效率神器!

    0 未来百科 未来百科 https nav 6aiq com 是一个知名的AI产品导航网站 为发现全球优质AI工具而生 目前已 聚集全球3000 优质AI工具产品 旨在帮助用户发现全球最好的AI工具 同时为研发AI垂直应用的创业公司提供展示
  • Python字典加减操作

    最近工作中遇见了这个基础问题 分享一下 以下是Python中的两个Dict x a 1 b 2 c 3 y a 3 b 1 d 5 我们需要用到class collections Counter iterable or mapping 相加
  • 数学建模_饮食计划

    摘要 民以食为天 合理的饮食是身体健康的基础 科学的控制摄入食物的比例可以健康的减肥 实际的饮食计划中既要考虑较低的热量摄入 还要考虑较高的满足感和饱腹感 并且营养要均衡 本文采用多目标加权 分优先级的方法将多目标优化问题转化为多个线性规划
  • rsync使用时的常见问题

    rsync使用时的常见问题 错误1 rsync read error Connection reset by peer 104 rsync error error in rsync protocol data stream code 12
  • 常用社交网络(SNS、人人网、新浪微博)动态新闻(feed、新鲜事、好友动态)系统浅析

    最近见几个朋友都在说人人网新鲜事排序的问题 恰巧对这方面也较感兴趣 于是打算顺便把手头收集到的资料梳理学习一下 由于本人也只是新手 很多内容仅仅是参阅资料后的个人猜测与纸上谈兵故难免存有错误与纰漏 感谢大家指正 一 什么是feed Feed
  • HMI全液晶仪表方案-使用QNX和Kanzi的UI解决方案

    如果你认为本系列文章对你有所帮助 请大家有钱的捧个钱场 点击此处赞助 赞助额1元起步 多少随意 锋影 e mail 174176320 qq com 黑莓有限公司子公司及全球车载电子软件平台领导厂商QNX软件系统有限公司与汽车用户界面设计工
  • three.js学习(第二天)之阻尼+自适应+js全屏

    添加阻尼效果 加载轨道控制器 import OrbitControls from three addons controls OrbitControls js 创建轨道控制器 const controls new OrbitControls
  • 常用的API接口对接方式和注意事项

    常用的API对接方式和注意事项 随着互联网的发展 API 应用程序接口 已经成为了不可或缺的一部分 API允许不同的软件系统进行通信和数据交互 为开发者提供了一种简单 灵活和高效的方式来集成不同的软件系统 在进行API对接时 有一些常用的方
  • 禅道后台命令执行漏洞 (二)

    漏洞简介 禅道是第一款国产的开源项目管理软件 它集产品管理 项目管理 质量管理 文档管理 组织管理和事务管理于一体 是一款专业的研发项目管理软件 完整地覆盖了项目管理的核心流程 禅道管理思想注重实效 功能完备丰富 操作简洁高效 界面美观大方
  • 防火墙的相关信息

    什么是防火墙 防御对象 授权用户 非授权用户 它是一种位于内部网络与外部外部网络之间的安全系统 是一种隔离 非授权用户在区域间 并过滤 对受保护网络有害流量或数据包 的设备 防火墙具有路由交换的功能 既可以做路由器也可以做交换机 防火墙的分
  • 狂神Elasticsearch笔记

    ElasticSearch笔记 我们要讲解什么 SQL like 狂神说 如果是的大数据 就十分慢 索引 ElasticSearch 搜索 百度 github 淘宝电商 1 聊一个人 2 货比三家 3 安装 4 生态圈 5 分词器ik 6
  • 如何不通过iconfont项目向已有字体图标中添加新的字体图标

    前言 今天接到一个需求 要往项目中添加一个字体图标 按照以往的惯例 就是在iconfont网站的我的项目添加需要的字体图标就行了 但这个需求是个临时需求 不想用这种方式 于是 就想直接在现有的字体图标中添加 解决方案 第一步 在iconfo
  • uGUI元素显示在角色的头顶上

    孙广东 2015 5 26 转载请注明出处 http blog csdn net u010019717 我们 游戏完全使用UGUI来工作 所以游戏中的很多元素都是UGUI的 Game Canvas画布设置为 World Space 主要也是
  • Unity3D游戏开发之设置动画(Animations)属性

    通过创建角色动画Avatar 在新的动画系统Mecanim中 Unity就设置了角色动画的骨架和蒙皮信息 从而就可以在Unity中实现角色动画了 切换到动画 Animations 选项卡 选中导入动画 Import Animation 的选
  • 人工神经网络的设计与实现(二) 感知机

    感知机 感知机 perceptron 是ANN的基本单元 至少我现在是这么觉得的 如果我学到后来发现不是 会来更正的 感知机 如下图 就是伸出几只小触手去感知这个世界 感知 感知 然后触手获取数据的加权和通过函数 f 得到的值即为该感知机的

随机推荐

  • 【热门框架】Mybatis-Plus标准CRUD操作

    MyBatis Plus提供了一系列标准的CRUD操作 包括insert delete update和select 下面是这些操作的指引 插入数据 1 使用实体类进行插入 User user new User user setName To
  • Idea license server地址

    以下都可以试试 http idea iteblog com key phphttp intellij mandroid cn http idea imsxm com https jetlicense nss im
  • 系统扩容心得

    author skatetime 2010 11 10 系统扩容心得 由于业务的快速发展 系统需要扩容 我们这次系统扩容动作比较小 相对不是很复杂 但过程是曲折的 结果是完美的 从开始准备到完成实施期间的每一个小细节都需要我们倍加注意 因为
  • vue-cli配置文件的查看和修改

    针对vue cli gt 3的版本 介绍两种修改方式 1 vue ui 在终端执行 vue ui 会打开页面 可以导入要管理的项目 会打开页面如下 2 在根目录下新建vue config js文件 添加要修改的配置
  • SSH整合中文

    在struts2里面配置一个常量
  • 第37章_瑞萨MCU零基础入门系列教程之DAC数模转换模块

    本教程基于韦东山百问网出的 DShanMCU RA6M5开发板 进行编写 需要的同学可以在这里获取 https item taobao com item htm id 728461040949 配套资料获取 https renesas do
  • http服务

  • ElasticSearch性能优化总结

    Elasticsearch是目前大数据领域最热门的技术栈之一 经过近8年的发展 已从0 0 X版升级至6 X版本 虽然增加了很多的特性和功能 但是在主体架构上 还是没有太多的变化 下面就把我对于ES使用实践的一些经验总结一下 供大家参考 也
  • VS2019未能返回新代码元素,可能是语法错误

    最近在写MFC的工程 在某次添加组件变量时 弹出提示框 未能返回新代码元素 可能是语法错误 检查了一遍没有语法错误 编译正常 网上所说的 将ncb文件删除就可以解决 找了半天没找到这个后缀名的文件 后来发现他们的帖子的发表时间都很老了 当初
  • 继电器驱动电路(各种单片机、CD4013触发器驱动电路图)

    继电器工作原理详解 附3种驱动电路图 继电器原理及分类 继电器知识点大全 看完一定有收获 线圈 继电器是一种电子控制器件 它具有控制系统 又称输入回路 和被控制系统 又称输出回路 通常应用于自动控制电路中 它实际上是用较小的电流去控制较大电
  • 基于ruoyi中shiro框架如何实现免密登录

    基于ruoyi中shiro框架如何实现免密登录 所做项目与第三方合作 系统间存在一些接口调用 需要做授权登录 我们的项目整体使用springboot框架结合部分ruoyi的后台管理框架 认证登陆采用了shiro框架 密码在数据库中经过盐值
  • vue-awesome-swiper 配置分页不显示

    使用 vue awesome swiper 的时候遇到一个问题 明明配置了分页 在页面上却没有展示出小圆点 数据量也是足够分页的 安装的 vue awesome swiper 是 4 1 1 版本的 这是 html 的代码片段
  • Android 蓝牙笔记-底层RFKILL驱动

    概念 RFKill 就是RF 射频 设备的开关 有类似一键关闭所有射频外设的功能 比如当我们在飞机上飞行开启飞行模式时候 所有这些RF相关的设备都需要关闭 linux的rfkill子系统提供了用于禁用系统中任何无线电发射器的通用接口 发射设
  • AD20-封装的创作及添加

    原理图你是可以画的大一点 丑一点 但是封装库一定要按一比一的比例去画 否者是会影响后期的制作 也有可能是不能做出来的 画原理图是在 这个文件中进行 Ctrl m 是测量中心距离 先选中一个中心 在选中另一个中心 gg 按两次 是设置栅格的长
  • 浅谈数组与链表的区别

    1 区别 1 数组元素地址需要连续内存空间 链表节点地址不需要连续内存空间 2 数组在最初就确定了成员数量 后期无法修改 链表的节点个数可动态增减 3 数组元素只能是同1种数据类型 链表节点可携带多种数据类型 4 数组从栈中分配空间 链表从
  • java元注解

    java元注解 本文涉及以下这些内容 如果不清楚的话 可以看一下 相信会对你有些许帮助 1 使用IntelliJ IDEA 2018查看字节码 2 使用IntelliJ IDEA 2018生成帮助文档 本文主要针对于java8 java8定
  • 第十四届蓝桥杯B组第一期模拟题

    1 十进制整数 2 在十进制中是 1 位数 在二进制中对应 10 是 2 位数 十进制整数 22 在十进制中是 2 位数 在二进制中对应 10110 是 5 位数 请问十进制整数 2022 在二进制中是几位数 include
  • Python响应式类库RxPy简介

    RxPy是非常流行的响应式框架Reactive X的Python版本 其实这些版本都是一样的 只不过是各个语言的实现不同而已 因此 如果学会了其中一种 那么使用其他的响应式版本也是轻而易举的 之前我就听说过这个框架 最近决定好好研究一下 基
  • Jmeter(三十六) - 从入门到精通进阶篇 - 设置负载阶梯式压测场景(详解教程)

    1 简介 在性能测试中 有时需要模拟一种实际生产中经常出现的情况 即 从某个值开始不断增加压力 直至达到某个值 然后持续运行一段时间 然后继续加压达到某个值持续运行 如此循环直到达到预期的峰值 运行一段时间 在jmeter中 有这样一个插件
  • SASS 中的占位符%,@extend,@mixin(@include)的使用场景

    SASS在线编译网站 https www sassmeister com 占位符 被声明为占位符的CSS类 不会出现在最终生成的CSS中 SASS代码 log display block color black log debug exte