• 06 【Sass语法介绍-函数】


    Sass语法介绍-函数

    这篇文章只更新了颜色函数,由于Sass使用时间过短,其它函数暂时不太会用

    1.前言

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

    2.什么是函数?

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

    3.Sass 函数简介

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

    • 字符串函数
    • 数字函数
    • 列表函数
    • Introspection函数
    • 条件函数
    • Map 函数
    • 颜色函数

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

    4.颜色函数

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

    4.1 用于获取通道色值的函数

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

    blue(#BA55D3)  //=> 211
    red(#BA55D3)  //=> 186
    green(#BA55D3)  //=> 85
    
    • 1
    • 2
    • 3

    4.2 saturate($color, $amount)

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

    saturate(#BA55D3, 20%)  //=> #c740e8
    
    • 1

    4.3 scale-color(…)

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

    scale-color(#BA55D3, $red: 15%)  //=> #c455d3  调整红色通道
    scale-color(#BA55D3, $blue: 15%)  //=> #ba55da  调整蓝色通道
    scale-color(#BA55D3, $lightness: -10%, $saturation: 10%)  //=> #b338d2 调整亮度和饱和度
    scale-color(#BA55D3, $alpha: -30%)  //=> rgba(186, 85, 211, 0.7)  调整不透明度
    
    • 1
    • 2
    • 3
    • 4

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

    5. 小结

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

    • 字符串函数
    • 数字函数
    • 列表函数
    • Introspection函数
    • 条件函数
    • Map 函数
    • 颜色函数
  • 相关阅读:
    Python------API
    Linux 命令个人学习笔记
    TCP相关面试题
    前端开发规范的区别(Commonjs、AMD、CMD、ES6模块化)
    已解决 Java Error: Exception in thread ‘main‘ java.lang.ClassNotFoundException
    如何在 Elasticsearch 中使用 Openai Embedding 进行语义搜索
    leetcode(力扣) 452. 用最少数量的箭引爆气球 & 435. 无重叠区间 (贪心)
    学习负载均衡的算法
    Mac安装Homebrew
    Python中如何定义类、基类、函数和变量?
  • 原文地址:https://blog.csdn.net/DSelegent/article/details/126514841