SASS语法基础

SASS基础语法

1. 变量和嵌套
  • 变量 :在SASS中,您可以使用变量来存储重复使用的值,例如颜色、字体大小等。定义一个变量时,使用$符号,如下所示:
scss 复制代码
// 定义变量
$primary-color: #0074D9;

// 使用变量
body {
  background-color: $primary-color;
}
  • 嵌套:SASS允许您在选择器内部嵌套其他选择器,以提高代码的可读性。例如:
scss 复制代码
// 嵌套规则
nav {
  ul {
    list-style: none;
    li {
      padding: 10px;
    }
  }
}
2. 部分文件和导入
  • 部分文件 :SASS允许您将样式分成多个部分文件,以便更好地组织和维护代码。每个部分文件通常以_开头,并且不会单独编译为CSS文件。例如,您可以创建一个名为_variables.scss的文件来存储变量。
  • 导入 :使用@import指令将部分文件导入到主SASS文件中。例如:
scss 复制代码
// styles.scss

// 导入变量文件
@import 'variables';

body {
  font-family: Arial, sans-serif;
  background-color: $primary-color;
}
3. 混合宏和扩展
  • 混合宏:混合宏类似于函数,它允许您定义一组样式规则,然后在其他选择器中重复使用。例如:
scss 复制代码
// 定义混合宏
@mixin button-style {
  background-color: $primary-color;
  color: #fff;
  padding: 10px 20px;
  border: none;
  border-radius: 4px;
}

// 使用混合宏
.button {
  @include button-style;
}
  • 扩展 :使用@extend指令可以继承其他选择器的样式。这对于共享样式非常有用。例如:
scss 复制代码
// 定义基础按钮样式
.button-base {
  background-color: $primary-color;
  color: #fff;
  padding: 10px 20px;
  border: none;
  border-radius: 4px;
}

// 扩展按钮样式
.primary-button {
  @extend .button-base;
}

.secondary-button {
  @extend .button-base;
  background-color: #E74C3C;
}

SASS函数与操作符

1. 内置函数

SASS提供了许多内置函数,用于处理颜色、字符串、数值等。以下是一些常用的内置函数:

  • 颜色函数

    • lighten($color, $amount):使颜色变亮。

    • darken($color, $amount):使颜色变暗。

    • mix($color1, $color2, $weight):混合两个颜色。

    • 示例:

      scss 复制代码
      $primary-color: #0074D9;
      
      .button {
        background-color: lighten($primary-color, 20%);
        color: darken($primary-color, 10%);
      }
  • 字符串函数

    • str-length($string):返回字符串的长度。

    • str-insert($string, $insert, $index):在指定位置插入字符串。

    • 示例:

      scss 复制代码
      $title: "Hello, World!";
      
      .header {
        content: str-insert($title, " Awesome", 6);
      }
2. 自定义函数

您还可以创建自定义函数来扩展SASS的功能。例如,假设您想编写一个函数来计算两个数的平均值:

scss 复制代码
// 自定义函数:计算平均值
@function average($num1, $num2) {
  @return ($num1 + $num2) / 2;
}

// 使用自定义函数
$score1: 85;
$score2: 92;

.average-score {
  font-size: average($score1, $score2) * 1px;
}
3. 数学和颜色操作
  • 数学操作

    • SASS支持基本的数学运算,包括加法、减法、乘法和除法。例如:

      scss 复制代码
      $base-font-size: 16px;
      
      .large-text {
        font-size: $base-font-size * 1.5;
      }
  • 颜色操作

    • SASS允许您对颜色进行操作,例如调整透明度、转换为灰度等。例如:

      scss 复制代码
      $primary-color: #0074D9;
      
      .transparent-button {
        background-color: rgba($primary-color, 0.5);
      }

相关推荐
于慨18 小时前
Lambda 表达式、方法引用(Method Reference)语法
java·前端·servlet
石小石Orz18 小时前
油猴脚本实现生产环境加载本地qiankun子应用
前端·架构
从前慢丶18 小时前
前端交互规范(Web 端)
前端
CHU72903519 小时前
便捷约玩,沉浸推理:线上剧本杀APP功能版块设计详解
前端·小程序
GISer_Jing19 小时前
Page-agent MCP结构
前端·人工智能
王霸天19 小时前
💥别再抄网上的Scale缩放代码了!50行源码教你写一个永不翻车的大屏适配
前端·vue.js·数据可视化
小领航19 小时前
用 Three.js + Vue 3 打造炫酷的 3D 行政地图可视化组件
前端·github
@大迁世界19 小时前
2026年React大洗牌:React Hooks 将迎来重大升级
前端·javascript·react.js·前端框架·ecmascript
PieroPc19 小时前
一个功能强大的 Web 端标签设计和打印工具,支持服务器端直接打印到局域网打印机。Fastapi + html
前端·html·fastapi
悟空瞎说19 小时前
深入 Vue3 响应式:为什么有的要加.value,有的不用?从设计到源码彻底讲透
前端·vue.js