您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Sass 函数

本节教程来讲解 Sass 中的,这在 Sass 中是比较强大的,同时使用场景和语法也比较多,所以本节篇幅较长,但你一定要好好学习, Sass 很重要!在 Sass 中中几乎可以用到前面你学的所有章节的,所以说万象同时也非常强大,本节我们将详细讲解 Sass 中各种的和。

是一段可以被另外的程序或的“子程序”,由称为体的一系列语句组成,并且也可以接收值,在大多数语言中都是这样的,Sass 中的也是一样。

Sass 为我们提供了很多内置模块,其中就包含了很多(一些指令),我们可以通过 @use 去加载它们,然后我们就可以了,当然还有一些可以直接在 CSS 语句中,在 Sass 中常用的有:

上面这些为我们提供了强大而丰富的来更高效地编写样式,下面我们来详细讲解 Sass 。

我们先来看一段 Sass 的来直观感受一下:

$list@H__63@@H__63@:@H__63@ [,,,];@H__63@
$string@H__63@@H__63@:@H__63@ 'string'@H__63@;@H__63@
$substring@H__63@@H__63@:@H__63@ 'str'@H__63@;@H__63@

.@R_882_2@ @H__63@{@H__63@
  font-size@H__63@:@H__63@length@H__63@(@H__63@$list@H__63@)@H__63@;@H__63@ // 列表@H__63@
  font@H__63@:@H__63@ quote@H__63@(@H__63@$string@H__63@)@H__63@;@H__63@ // 字符串@H__63@
  font@H__63@:@H__63@ str-index@H__63@(@H__63@$string@H__63@, $substring@H__63@)@H__63@;@H__63@ // 字符串@H__63@
  color@H__63@:@H__63@ adjust-hue@H__63@(@H__63@#6b717f@H__63@, deg)@H__63@;@H__63@ // 颜色@H__63@
  border-width@H__63@:@H__63@ ceil@H__63@(@H__63@)@H__63@;@H__63@ // 数字@H__63@
  width@H__63@:@H__63@ percentage@H__63@(@H__63@)@H__63@;@H__63@ // 数字@H__63@
  font@H__63@:@H__63@ type-of@H__63@(@H__63@#676767@H__63@)@H__63@;@H__63@ // Introspection@H__63@
}@H__63@

上面的示例中我们举了几种的例子,在实际开发中并不会这么写,这里把它们作为值只是为了直观的展示,所以先不要在意;可以从上面的例子看出,的使用就像 javascript 中的一样,通过名来,然后在括号中传参,最后会得到的返回结果,那上面示例中这些的返回结果是什么呢?转换为 CSS 的如下:

.@R_882_2@@H__63@ @H__63@{@H__63@
  font-size@H__63@:@H__63@ ;@H__63@
  font@H__63@:@H__63@ "string"@H__63@;@H__63@
  font@H__63@:@H__63@ ;@H__63@
  color@H__63@:@H__63@ #796b7f@H__63@;@H__63@
  border-width@H__63@:@H__63@ ;@H__63@
  width@H__63@:@H__63@ ;@H__63@
  font@H__63@:@H__63@ color;@H__63@
}@H__63@

可以看到上面转换为 CSS 的中的值就是的返回结果,可能你还不是很懂,没关系下面我们开始详细讲解 Sass 提供的这些!你要知道 Sass 中的也是通过名并传参,最后 Sass 会为你返回的执行结果。

在上面的语法示例中你已经感受了 Sass ,下面我们开始详细的来讲解它。

字符串主要提供了字符串类型的相关操作,就像在 javascript 中一样,Sass 提供的字符串可以的长度,字符串的下标以及字符串中的大小写字母转换等等。

这两个我们放在一起讲解,它们都接收 1 个参数,参数是字符串类型,quote($string) 的返回结果是 以带引号的形式返回你传入的字符串,反之 unquote($string) 的返回结果是以不带引号的形式返回你传入的字符串,我们举例看下:

stringquote@H__63@(@H__63@aaa)@H__63@ //=> "aaa"@H__63@
unquote@H__63@(@H__63@"bbb"@H__63@)@H__63@  //=> bbb@H__63@

str-index($string, $substring) 接收 2 个参数,返回 $substring 在 $string 中的第一次出现的索引,如果在 $string 中不包含 $substring 则返回 null ,我们举例看下:

str-index@H__63@(@H__63@"abcde"@H__63@, "a"@H__63@)@H__63@ //=> 1@H__63@
str-index@H__63@(@H__63@"abcde"@H__63@, "c"@H__63@)@H__63@ //=> 3@H__63@

看见 insert 这个词我们就能猜到,这个是用于字符串的插入,str-insert($string, $insert, $index) 接收 3 个参数,第 1 个参数是字符串,第 2 个参数是要插入的字符串,第 3 个参数是插入的位置,返回结果是插入后的字符串:

str-insert@H__63@(@H__63@"abcde"@H__63@, "j"@H__63@, )@H__63@  //=> "jabcde"@H__63@
str-insert@H__63@(@H__63@"abcde"@H__63@, "j"@H__63@, )@H__63@  //=> "abcjde"@H__63@
str-insert@H__63@(@H__63@"abcde"@H__63@, "j"@H__63@, )@H__63@  //=> "abcdej"@H__63@
str-insert@H__63@(@H__63@"abcde"@H__63@, "j"@H__63@, -)@H__63@  //=> "jabcde"@H__63@

从上面的例子我们可以看到,当第 3 个参数大于 $string 的长度,将会插入到,末尾;反之,如果小于 $string 长度的负值,则会插入到开始位置。

这个用于传入的字符串的长度,只接收字符串参数,返回值是它的长度,返回值是 number 类型,我们举例看下:

str-length@H__63@(@H__63@"abcde"@H__63@)@H__63@  //=> 5@H__63@

这个用于字符串的,str-slice($string, -at, $end-at) 接收 3 个参数,第 1 个参数是字符串,第 2 个参数是要的开始位置,第 3 个参数是要的结束位置,返回结果是到的字符串;要记住 Sass 的字符串返回的字符串是包含的开始和结束位置字符的,我们举例看下:

str-slice@H__63@(@H__63@"abcde"@H__63@, , )@H__63@  //=> "ab"@H__63@
str-slice@H__63@(@H__63@"abcde"@H__63@, , )@H__63@  //=> "bcd"@H__63@

这两个我们放在一起来讲解,它们都接收 1 个字符串参数;to-upper-case($string) 将传入的字符串转换为大写并返回,to-lower-case($string) 将传入的字符串转换为小写并返回:

to-upper-case@H__63@(@H__63@"abcde"@H__63@)@H__63@ //=> "ABCDE"  转为大写@H__63@
to-upper-case@H__63@(@H__63@"Abc"@H__63@)@H__63@  //=> "ABC"  转为大写@H__63@
to-lower-case@H__63@(@H__63@"ABC"@H__63@)@H__63@  //=> "abc"  转为小写@H__63@
to-lower-case@H__63@(@H__63@"Abc"@H__63@)@H__63@  //=> "abc"  转为小写@H__63@

unique-id() 会返回的字符串,并且这个字符串在 Sass 编译中是唯一的,这个我们用得不多,不过当你需要唯一的字符串标识的时候你可以使用它:

unique-id@H__63@(@H__63@)@H__63@  //=> urgdjis@H__63@

上面我们讲解了字符串,字符串可以让你方便地操作字符串,还为你提供了对字符串的增删改查,下面我们来讲解数字。

Sass 提供了很多数字来提供计算和数值转换等,在 Sass 中我们也称之为 Math ,就像 javascript 中提供的 Math 一样,为我们提供了很多数学上的计算,首先我们先举例看一下简单的仅有数学计算意义的数字:

math$e@H__63@  //=> 2.7182818285  返回数学常数 e 的值@H__63@
math$pi@H__63@ //=> 3.1415926536  返回数学常数 π 的值@H__63@
ceil@H__63@(@H__63@)@H__63@  //=> 5  向上取整@H__63@
floor@H__63@(@H__63@)@H__63@  //=> 4  向下取整@H__63@
round@H__63@(@H__63@)@H__63@  //=> 4  四舍五入取近似值@H__63@
round@H__63@(@H__63@)@H__63@  //=> 5  四舍五入取近似值@H__63@
abs@H__63@(@H__63@-px)@H__63@  //=> 10px  取绝对值@H__63@
mathcos@H__63@(@H__63@deg)@H__63@  //=> -0.1736481777 返回余弦值,单位必须与deg兼容或无单位@H__63@
mathsin@H__63@(@H__63@deg)@H__63@ //=> 0.984807753  返回正弦值,单位必须与deg兼容或无单位@H__63@
mathtan@H__63@(@H__63@deg)@H__63@ //=> -5.6712818196  返回正切值,单位必须与deg兼容或无单位@H__63@
mathacos@H__63@(@H__63@)@H__63@ //=> 60deg  返回反余弦值,传入的参数不可带单位@H__63@
mathasin@H__63@(@H__63@)@H__63@ //=> 30deg  返回反正弦值,传入的参数不可带单位@H__63@
math@H__63@(@H__63@)@H__63@ //=> 84.2894068625deg  返回反正切值,传入的参数不可带单位@H__63@
random@H__63@(@H__63@)@H__63@  //=> 返回 0~1 之数@H__63@
percentage@H__63@(@H__63@)@H__63@  //=> 20%  将无单位的小数转换为百分比数@H__63@

这个用于计算对数,它会返回 $number 相对于 $base 的对数,这两个参数是不可以带有单位的。

mathlog@H__63@(@H__63@)@H__63@  //=> 2.302585093@H__63@
mathlog@H__63@(@H__63@, )@H__63@  //=> 1@H__63@

math.pow($base, $exponent) 用于计算 $base 的 $exponent 次幂,是用于幂运算的。

mathpow@H__63@(@H__63@, )@H__63@  //=> 100@H__63@

math.sqrt($number) 返回传入参数的平方根。

mathsqrt@H__63@(@H__63@)@H__63@  //=> 10@H__63@

comparable($number1, $number2) 用来判断两个数值的单位是否兼容,它的返回结果是布尔值,这个在你需要对单位进行要求的时候很有用,我们举例看下:

comparable@H__63@(@H__63@px, )@H__63@  //=> true@H__63@
comparable@H__63@(@H__63@px, px)@H__63@  //=> true@H__63@
comparable@H__63@(@H__63@px, em)@H__63@  //=> false@H__63@

unitless($number) 用于判断传入的数值是否没有单位,返回结果是布尔值,如果没带单位返回 true,带单位则返回 false。

unitless@H__63@(@H__63@)@H__63@  //=> true@H__63@
unitless@H__63@(@H__63@px)@H__63@  //=> false@H__63@

unit($number) 会返回传入数值的单位,并且是将单位以字符串的形式返回的,我们来看下:

unit@H__63@(@H__63@)@H__63@  //=> ""@H__63@
unit@H__63@(@H__63@px)@H__63@  //=> "px"@H__63@
unit@H__63@(@H__63@em)@H__63@  //=> "em"@H__63@

这两个分别接收以逗号分隔的数值,并且分别返回其中最大的值和最小的值

mathmax@H__63@(@H__63@, )@H__63@  //=>  8@H__63@
mathmin@H__63@(@H__63@, )@H__63@  //=>  4@H__63@

上面我们讲了 Sass 中数字,这些是辅助你来对数字类型的值进行一些操作,很像 javascript 中提供的 Math ,你不需要死记硬背,这些需要用到的时候再查也可以。

在前面的数据类型我们讲过,在 Sass 中有一种数据类型是列表类型,那么列表就是用来的,下面我们一起来看下 Sass 提供了哪些列表。

append($list, $val, $separator) 用于向列表的末尾插入元素,它接收 3 个参数,第 1 个参数是列表(以空格或者逗号分隔),第 2 个参数是要插入的值(也可以是列表),第 3 个参数 $separator 表示返回的列表是否使用与 $list 相同的分隔符,这个认是 auto ( 使用与$list相同的分隔符),这个的返回值也是列表。我们举例看下:

append@H__63@(@H__63@  , )@H__63@  //=> 10 11 12 13@H__63@
append@H__63@(@H__63@(@H__63@,,)@H__63@, )@H__63@  //=> 10, 11, 12, 13@H__63@

这里需要注意的是,如果第 1 个参数你是使用逗号分隔的列表,那么你要将这个列表使用括号括起来!

join($list1, $list2, $separator, $bracketed) 用于连接两个列表,上面我们讲到向列表认插入元素,如果插入的元素是列表,那么请你使用 join 。

这个接收 4 个参数,第 1 个参数是列表,第 2 个参数是要插入的列表,第 3 个参数是返回列表的分隔符,认是 auto (列表将使用与$list1相同的分隔符(如果有分隔符),否则使用与$list2相同的分隔符,或者使用空格。不允许使用其他值),第 4 个参数是布尔值,用来设置返回的列表是否包含方括号。我们举例来看下:

join@H__63@(@H__63@ ,  )@H__63@  //=> 5 6 7 8@H__63@
join@H__63@(@H__63@(@H__63@,)@H__63@, (@H__63@,)@H__63@)@H__63@  //=> 5, 6, 7, 8@H__63@
join@H__63@(@H__63@ ,  , $bracketed@H__63@@H__63@:@H__63@ true@H__63@)@H__63@  //=> [5 6 7 8]@H__63@

这里需要注意的是,如果列表类型的参数是使用逗号分隔的列表,那么你要将这个列表使用括号括起来!

index($list, $value) 用于返回 $value 在列表 $list 中的索引,如果在 $list 中没有 $value 则返回 null。

index@H__63@(@H__63@a b solid, b)@H__63@  //=> 2@H__63@
index@H__63@(@H__63@a b solid, solid)@H__63@  //=> 3@H__63@

这个比较简单,就是返回列表的长度。返回的值是 number 类型。

length@H__63@(@H__63@a b solid)@H__63@  //=> 3@H__63@
length@H__63@(@H__63@""@H__63@)@H__63@  //=> 1@H__63@

这个用来返回列表的分隔符,如果没有分隔符就返回空格 space 。

list-separator@H__63@(@H__63@a b)@H__63@  //=> space@H__63@
list-separator@H__63@(@H__63@(@H__63@a,b)@H__63@)@H__63@  //=> comma@H__63@

nth($list, $n) 这个用于通过索引在列表中取元素,第 1 个参数是列表,第 2 个参数 $n 是索引位置,如果 $n 为负数,则从列表的末尾开始计数。如果索引 $n 处没有元素,则引发。

nth@H__63@(@H__63@a b c d, )@H__63@  //=> b@H__63@

上面讲解了一些比较常见的列表,它很像 javascript 中提供的一些数组,在 Sass 中你可以对列表类型的数据使用各种各样的列表来满足你的需求。

Introspection实际在样式中写的非常少,一般用于的调试以及做一些判断。这里我们只举几个例子来看下:

type-of@H__63@(@H__63@px)@H__63@  //=> number 用于判断数据的类型,返回数据的类型@H__63@
type-of@H__63@(@H__63@px px px)@H__63@ //=> list 用于判断数据的类型,返回数据的类型@H__63@
variable-exists@H__63@(@H__63@"a"@H__63@)@H__63@ //=> false  用于判断当前范围中变量是否存在,这里是判断变量 $a 是否存在@H__63@
module-variables@H__63@(@H__63@$module@H__63@)@H__63@  //=> 用于返回模块中定义的所有变量@H__63@
call@H__63@(@H__63@$function@H__63@, $args@H__63@)@H__63@  //=> 使用 $args  $function,这个很像 javascript 中的 call@H__63@

上面举了几个 Introspection的例子,这类一般很少直接用到样式中,入门实战你只需要了解有这类就可以,刚开始很少会直接应用。

if($condition, $if-true, $if-false) 是 Sass 中的条件,它接收 3 个参数,第 1 个参数是判断条件或者布尔值,第 2 个参数是当判断条件为真时的返回值,第 3 个参数是当判断条件为假时的返回值。我们举例看下:

if@H__63@(@H__63@true@H__63@, px, px)@H__63@  //=> 18px@H__63@
if@H__63@(@H__63@true@H__63@, px, px)@H__63@  //=> 16px@H__63@

还记得我们在 Sass 数据类型章节讲到的 Maps 类型吗,Map 就是提供了很多操作 Maps 类型数据的。

map-get($map, $key) 是从 $map 中取出 key 为 $key 的值,第 1 个参数是 Maps 类型的数据,我们举例看下:

$val_map@H__63@@H__63@:@H__63@ (@H__63@"a"@H__63@:@H__63@ , "b"@H__63@:@H__63@ , "c"@H__63@:@H__63@ )@H__63@;@H__63@ // 定义 maps 类型的数据@H__63@
map-get@H__63@(@H__63@$val_map@H__63@, "a"@H__63@)@H__63@  //=> 1@H__63@
map-get@H__63@(@H__63@$val_map@H__63@, "b"@H__63@)@H__63@  //=> 2@H__63@

这个就很像 javascript 中从 object 数据取值,它的也很单一,只是取值。

map-has-key($map, $key) 这个返回在 $map 中是否有 $key,返回的值是布尔类型。

$val_map@H__63@@H__63@:@H__63@ (@H__63@"a"@H__63@:@H__63@ , "b"@H__63@:@H__63@ , "c"@H__63@:@H__63@ )@H__63@;@H__63@ // 定义 maps 类型的数据@H__63@
map-has-key@H__63@(@H__63@$val_map@H__63@, "b"@H__63@)@H__63@  //=> true@H__63@
map-has-key@H__63@(@H__63@$val_map@H__63@, "e"@H__63@)@H__63@  //=> false@H__63@

map-keys($map) 返回传入的 map 中所有的 key,并且会以逗号分隔为列表返回。

$val_map@H__63@@H__63@:@H__63@ (@H__63@"a"@H__63@:@H__63@ , "b"@H__63@:@H__63@ , "c"@H__63@:@H__63@ )@H__63@;@H__63@ // 定义 maps 类型的数据@H__63@
map-keys@H__63@(@H__63@$val_map@H__63@)@H__63@  //=> "a","b","c"@H__63@

map-merge($map1, $map2) 用于合并两个 maps 类型的数据 $map1 和 $map2,并且会返回新的 map,如果 $map1 和 $map2 中有相同的 key ,那么 $map2 中的数据会覆盖 $map1 中的这条数据,这个和 javascript 中合并两个对象的很类似。我们举例看下:

$val_map1@H__63@@H__63@:@H__63@ (@H__63@"a"@H__63@:@H__63@ , "b"@H__63@:@H__63@ )@H__63@;@H__63@
$val_map2@H__63@@H__63@:@H__63@ (@H__63@"c"@H__63@:@H__63@ , "d"@H__63@:@H__63@ )@H__63@;@H__63@
map-merge@H__63@(@H__63@$val_map1@H__63@, $val_map2@H__63@)@H__63@
// => 返回的数据@H__63@
// (@H__63@
//   "a": 1,@H__63@
//   "b": 2,@H__63@
//   "c": 3,@H__63@
//   "d": 4@H__63@
// )@H__63@

看到 remove 我们就知道这个是用来的,map-remove($map, $keys…) 用来 $map 中的或多个与 $keys 关联的值,并且返回后的 map。

$val_map@H__63@@H__63@:@H__63@ (@H__63@"a"@H__63@:@H__63@ , "b"@H__63@:@H__63@ , "c"@H__63@:@H__63@ )@H__63@;@H__63@ // 定义 maps 类型的数据@H__63@

map-remove@H__63@(@H__63@$val_map@H__63@, "a"@H__63@, "b"@H__63@)@H__63@  //=> ("c": 3)@H__63@

前面讲到可以返回 map 中所有的 key ,map-values($map) 这个与其类似是用来返回 map 中所有的 value,同样会以逗号分隔为列表返回。

$val_map@H__63@@H__63@:@H__63@ (@H__63@"a"@H__63@:@H__63@ , "b"@H__63@:@H__63@ , "c"@H__63@:@H__63@ )@H__63@;@H__63@ // 定义 maps 类型的数据@H__63@
map-values@H__63@(@H__63@$val_map@H__63@)@H__63@  //=> 1,2,3@H__63@

到这里我们讲了 Map ,你可以使用各种 Map 来对 Maps 数据类型进行操作和增删改查。

Sass 中提供了非常非常多的颜色用来处理颜色值,它们很多需要你具有专业的调色及配色知识才能发挥出作用,所以本节我们不讲的那么复杂,本节中我们只讲几种常见的、比较简单的颜色,其他特别复杂的用于调色的在以后你可以再慢慢研究。

Sass 提供了可以色值中红色通道、绿色通道和蓝色通道色值的,它们分别是 red($color) 、green($color) 和 blue($color)。你可能还不太了解这三种通道是什么,不要紧,只要知道这三种和它的使用就可以。我们举例看下:

blue@H__63@(@H__63@#BA55D3@H__63@)@H__63@  //=> 211@H__63@
red@H__63@(@H__63@#BA55D3@H__63@)@H__63@  //=> 186@H__63@
green@H__63@(@H__63@#BA55D3@H__63@)@H__63@  //=> 85@H__63@

saturate($color, $amount) 用于调整 $color 的饱和度,第 1 个参数 $color 是颜色值,第 2 个参数是 0% ~ 100% 之百分数,其返回值也是颜色值。

saturate@H__63@(@H__63@#BA55D3@H__63@, )@H__63@  //=> #c740e8@H__63@

这是非常强大的颜色,它接收很多个参数,可以调整色值的很多,这个颜色的红、绿、蓝通道,以及亮度等等,我们只能举例来直观的看下:

scale-color@H__63@(@H__63@#BA55D3@H__63@, $red@H__63@@H__63@:@H__63@ )@H__63@  //=> #c455d3  调整红色通道@H__63@
scale-color@H__63@(@H__63@#BA55D3@H__63@, $blue@H__63@@H__63@:@H__63@ )@H__63@  //=> #ba55da  调整蓝色通道@H__63@
scale-color@H__63@(@H__63@#BA55D3@H__63@, $lightness@H__63@@H__63@:@H__63@ -, $saturation@H__63@@H__63@:@H__63@ )@H__63@  //=> #b338d2 调整亮度和饱和度@H__63@
scale-color@H__63@(@H__63@#BA55D3@H__63@, $alpha@H__63@@H__63@:@H__63@ -)@H__63@  //=> rgba(186, 85, 211, 0.7)  调整不透明度@H__63@

通过上面的例子可以看到颜色提供了非常强大的用于调色的,驾驭它的前提是你要有非常丰富的调色知识以及一定的美术基础。在实际的项目中我们非常少的用到颜色,因为一般都是由公司的 UI 设计师来进行调色,所以作为入门教程,你只需要了解 Sass 中的颜色就好。

上面用了非常长的篇幅讲解了 Sass 提供的,基本都覆盖了,那在实际的项目中我们是怎么应用的这些呢?哪些比较有用哪些不是很常用呢?一起来看下在我的项目中对 Sass 的应用:一般来说我们的项目中会有 function.scss 来单独维护各种各样的,我将我项目中 function.scss 中部分粘贴出来:

// 字符串的后半部分@H__63@
@function@H__63@ middleStr@H__63@(@H__63@$str@H__63@)@H__63@ {@H__63@
  $leng@H__63@@H__63@:@H__63@ str-length@H__63@(@H__63@$str@H__63@)@H__63@;@H__63@
  @H__63@@H__63@:@H__63@ $leng@H__63@ /@H__63@ ;@H__63@
  @return@H__63@ str-slice@H__63@(@H__63@$str@H__63@, @H__63@, $leng@H__63@)@H__63@;@H__63@
}@H__63@

// 判断class长度范围@H__63@
@function@H__63@ classLong@H__63@(@H__63@$class@H__63@, $max@H__63@)@H__63@ {@H__63@
  $leng@H__63@@H__63@:@H__63@ str-length@H__63@(@H__63@$class@H__63@)@H__63@;@H__63@
  @if@H__63@ $leng@H__63@ > $max@H__63@ @H__63@{@H__63@
    @return@H__63@ true@H__63@;@H__63@
  }@H__63@ @else@H__63@ {@H__63@
    @return@H__63@ false@H__63@;@H__63@
  }@H__63@
}@H__63@

// 大小写转换@H__63@
@function@H__63@ upperOrLower@H__63@(@H__63@$str@H__63@, $type@H__63@)@H__63@ {@H__63@
  @if@H__63@ type-of@H__63@(@H__63@$str@H__63@)@H__63@ == "string" @H__63@{@H__63@
    @if@H__63@ $type@H__63@ == "upper" @H__63@{@H__63@
      @return@H__63@ to-upper-case@H__63@(@H__63@$str@H__63@)@H__63@;@H__63@
    }@H__63@ @else@H__63@ {@H__63@
      @return@H__63@ to-lower-case@H__63@(@H__63@$str@H__63@)@H__63@
    }@H__63@
  }@H__63@
}@H__63@

上面的中看出,一般我们使用 指令 @function 来定义我们自己的,这个我们在后面的章节会单独讲解,在我的各种中,我用到了本节所讲的 Sass 提供的一些,这其中对字符串的操作等等,你可以从上面这段中找出来,一般来说在项目中只有封装一些通用的或指令的时候,会用到 Sass 提供的这些来辅助我们!

本节我们讲了 Sass 提供的各种各样的,基本覆盖到了比较常用的、常见的,它们分别是:

我列出 Sass 的一张长图,这里基本涵盖了常见的常用的,可以方便你复习和查阅 Sass 中的:

你需要多练习多使用这些,慢慢的就会记住它们了,我认为其实就是一系列的工具,多加使用,熟能生巧!


联系我
置顶