# Sass/Scss-css 预处理器

# Sass 的诞生

众所周知 css 并不能算是一们真正意义上的 “编程” 语言,它本身无法未完成像其它编程语言一样的嵌套、继承、设置变量等工作。
为了解决 css 的不足,开发者们想到了编写一种对 css 进行预处理的 “中间语言”,可以实现一些 “编程” 语言才有的功能,然后自动编译成 css 供浏览识别,这样既一定程度上弥补了 css 的不足,也无需一种新的语言来代替 css 以供浏览器识别。
于是 css 预处理语言 SASS 就应运而生了。它诞生于 2007 年,是最早成熟 css 预处理语言。

# 1. 什么是 Sass?

Sass 是 css 的预处理器,它能用来清晰地、结构化地描述文件样式,有着比普通 CSS 更加强大的功能。

Sass 能够提供更简洁、更优雅的语法,同时提供多种功能来创建可维护和管理的样式表,有助于更好地组织管理样式文件,以及更高效地开发项目。

sass 是采用的 Ruby 语言编写的一款 css 预处理语言

sass 是最早的 css 预处理语言,有比 less 更为强大的功能。也是目前企业级开发中应用最多的 CSS 预处理器。

# 2、列出 Sass 的一些常用功能 ?

常用功能

一个开源的预处理器,被解析为 CSS
完全兼容 CSS3
在 CSS 基础上增加变量、嵌套 、混合等功能
在更少的时间内轻松地编写 CSS 代码
自定义输出格式

# 3、解释 SCSS 和 Sass 之间的区别 ?

区别

Sass 和 SCSS 其实就是同一种东西,我们平时都称之为 Sass,两者之间不同之处主要有以下两点:

  • 文件扩展名不同,Sass 是以.sass 后缀为扩展名,而 SCSS 是以.scss 后缀为扩展名。
  • 语法书写方式不同,Sass 是以严格的缩进式语法规则来书写,不带大括号 {} 和分号;,而 SCSS 的语法书写和我们的 CSS 语法书写方式非常类似。
  • sass 从第三代开始,放弃了缩进式风格,并且完全向下兼容普通的 css 代码,这一代的 sass 也被称为 scss。

# 4、Sass 中的嵌套规则是什么 ?

嵌套规则

嵌套是一种将多个逻辑结构相互组合的方法。在 Sass 中,各种 CSS 规则相互连接。

例如:如果使用多个选择器,则可以在另一个选择器内部使用一个选择器来创建复合选择器。

# 5、Sass 基础知识

名称描述
Live Sass Compiler(Sass 编译插件)VScode 编译 sass 的插件
.scss (sass 文件后缀名)sass 文件的后缀名之一。在该文件中,可以写花括号 {} 和分号
.sass (sass 文件后缀名)sass 文件的后缀名之一。在该文件中,不能写花括号 {} 和分号
&(sass 修饰符)修饰符,表示上层标签。如下: span{&:active{color: red;}}编译后的代码是 span:active { color: red; }

# 6、sass 常用变量

名称描述
$ (变量前缀)使用 $,可以用来定义 css 变量(变量名可自定义)
lighten()颜色变量相关的功能函数,可以把颜色变浅
darken()颜色变量相关的功能函数,可以把颜色变深
@import关键字,可以用来引入 css 变量
@mixin关键字,用来定义混入的内容
@include关键字,用来引入 @mixin 定义的混入
@content关键字。当引入 mixin 时,@include 花括号中的内容可以用该关键字代替