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

sass高阶应用

Sass(尤其是 SCSS 语法)除了基础功能外,还提供了许多高级特性,可以实现更灵活、可维护的样式系统。以下是 Sass 的 高级语法和应用技巧,适合中大型项目或组件库开发。


文章目录

    • 一、控制指令(Control Directives)
      • 1. `@if / @else`
      • 2. `@for` 循环
      • 3. `@each` 遍历列表/Map
      • 4. `@while` 循环
    • 二、函数与自定义逻辑
      • 1. 自定义函数
      • 2. 内置函数
    • 三、模块化与命名空间(`@use` / `@forward`)
      • 1. 模块化导入(`@use`)
      • 2. 命名空间别名
      • 3. 转发模块(`@forward`)
    • 四、占位符选择器 `%`
    • 五、动态插值 `#{}`
    • 六、继承与组合(`@extend`)
    • 七、建议

一、控制指令(Control Directives)

1. @if / @else

用于根据条件生成不同的 CSS。

@mixin button-style($type) {background: #ccc;@if $type == primary {background: #3498db;color: white;} @else if $type == danger {background: #e74c3c;color: white;} @else {background: #ecf0f1;color: #333;}
}.btn {@include button-style(primary);
}

2. @for 循环

可用于批量生成类名,如网格布局、按钮大小等。

@for $i from 1 through 5 {.col-#{$i} {width: 20% * $i;}
}

3. @each 遍历列表/Map

适用于遍历颜色、字体、断点等配置项。

$colors: (primary: #3498db,success: #2ecc71,danger:  #e74c3c
);@each $name, $color in $colors {.text-#{$name} {color: $color;}.bg-#{$name} {background-color: $color;}
}

4. @while 循环

虽然不常用,但可以用于特定逻辑。

http://www.lryc.cn/news/2395962.html

相关文章:

  • docker docker-ce docker.io
  • DQN和DDQN(进阶版)
  • 【组件】翻牌器效果
  • CentOS 7 环境中部署 LNMP(Linux + Nginx + MySQL 5.7 + PHP)
  • NX811NX816美光颗粒固态NX840NX845
  • 捋捋wireshark
  • c++学习之---模版
  • MyBatis-Flex 全面指南:下一代轻量级持久层框架实战入门
  • 第十六章 EMQX黑名单与连接抖动检测
  • WebSphere(WAS)
  • 新编辑器编写指南--给自己的备忘
  • xPSR
  • 鸿蒙网络数据传输案例实战
  • 【JavaEE】-- 网络原理
  • 1.RV1126-OPENCV 交叉编译
  • PySide6 GUI 学习笔记——常用类及控件使用方法(标签控件QLabel)
  • CSS (mask)实现服装动态换色:创意与技术的完美融合
  • 基于51单片机的音乐盒汽车喇叭调音量proteus仿真
  • 彻底理解Spring三级缓存机制
  • MacOs 安装局域网 gitlab 记录
  • Flutter 与 Android 原生布局组件对照表(完整版)
  • 【产品经理从0到1】自媒体端产品设计
  • 017搜索之深度优先DFS——算法备赛
  • 解决 maven编译项目-Fatal error compiling: 无效的目标发行版: 21 -> [Help 1]
  • Thinkphp6实现websocket
  • web-css
  • 关于 smali:2. 从 Java 到 Smali 的映射
  • 三、zookeeper 常用shell命令
  • 分布式流处理与消息传递——Paxos Stream 算法详解
  • 智变与重构:AI 赋能基础教育教学的范式转型研究报告