4. sass实用函数归纳

4. sass实用函数归纳

字符串函数

1、quote(string)

给字符串添加引号

quote(xiaoming) // "xiaoming"

2、unquote(string)

移除字符串的引号

unquote("xiaoming") // xiaoming

3、str-index(string, substring)

返回 substring 子字符串第一次在 string 中出现的位置。如果没有匹配到子字符串,则返回 null。区分大小写。

str-index(abcd, a) // 1  
str-index(abcd, ab) // 1  
str-index(abcd, X)  // null

4、str-insert(string, insert, index)

在字符串 stringindex 位置插入 insert

str-insert("Hello daming!", " xiaoming", 6) //"Hello xiaoming daming!"

5、str-length(string)

返回字符串的长度。

str-length("xiaoming") // 8

6、str-slice(string, start, end)

string 中截取子字符串,通过 start-atend-at 设置始末位置,未指定结束索引值则默认截取到字符串末尾。

是不是感觉合 js 的操作有些类似。

str-slice("abcd", 2, 3)   => "bc"
str-slice("abcd", 2)      => "bcd"
str-slice("abcd", -3, -2) => "bc"
str-slice("abcd", 2, -2)  => "bc"

7、to-lower-case(string)

将字符串转成小写

to-lower-case("XIAOMING") // "xiaoming"

8、to-upper-case(string)

将字符串转成大写

to-upper-case("xiaoming") // "XIAOMING"

9、unique-id()

返回一个无引号的随机字符串作为 id

不过也只能保证在单次的 Sass 编译中确保这个 id 的唯一性。

unique-id() // 3sf6gsr3f

数字函数

10、abs(number)

返回一个数值的绝对值。

abs(17) // 17
abs(-17) // 17

11、comparable(num1, num2)

返回一个布尔值,判断 num1num2 是否可以进行比较 ,注意是否可以比较,不是比较的结果。

comparable(15px, 10px) // true
comparable(20mm, 1cm) // true
comparable(35px, 2em) // false

12、ceil(number)

向上取整。

ceil(16.24) //17

13、floor(number)

向下取整。

floor(17.84) // 17

14、max(number…)

返回最大值。

max(15, 17, 19, 10, -13, -17) // 19

15、min(number…)

返回最小值。

min(17, 12, 10, -12, -17) // -17

16、percentage(number)

将数字转化为百分比的表达形式。

percentage(1.3) // 130

17、random()

返回 0-1 区间内的小数。

random() // 0.3652

18、random(number)

返回 1number 之间的整数,包括 1limit

random(10) // 7

19、round(number)

返回最接近该数的一个整数,四舍五入。

round(17.20) // 17
round(16.70) // 17

列表(List)函数

20、append(list, value, [separator])

将单个值 value 添加到列表尾部。separator 是分隔符,默认会自动侦测,或者指定为逗号或空格。

append((a b c), d) // a b c d
append((a b c), (d), comma) // a, b, c, d

21、index(list, value)

返回元素 value 在列表中的索引位置。

index(a b c, b) // 2
index(a b c, f) // null

22、is-bracketed(list)

判断列表中是否有中括号。

is-bracketed([a b c]) // true
is-bracketed(a b c) // false

23、list-separator(list)

返回一列表的分隔符类型。可以是空格或逗号。

list-separator(a b c) // "space"
list-separator(a, b, c) // "comma"

24、join(list1, list2, [separator, bracketed])

合并两列表,将列表 list2 添加到列表 list1 的末尾。

separator 是分隔符,默认会自动侦测,或者指定为逗号或空格。

bracketed 默认会自动侦测是否有中括号,可以设置为 truefalse

join(a b c, d e f) // a b c d e f
join((a b c), (d e f), comma) // a, b, c, d, e, f
join(a b c, d e f, $bracketed: true) // [a b c d e f]

25、length(list)

返回列表的长度

length(a b c d) // 5

26、set-nth(list, n, value)

设置列表第 n 项的值为 value

set-nth(a b c, 2, x) // a x c

27、nth(list, n)

获取第 n 项的值。

nth(a b c, 2) // b

28、zip(lists)

将多个列表按照以相同索引值为一组,重新组成一个新的多维度列表。

zip(1px 2px 3px, solid dashed dotted, red green blue)
// 1px solid red, 2px dashed green, 3px dotted blue

Map(映射)函数

Sass Map 是不可变的,因此在处理 Map 对象时,返回的是一个新的 Map 对象,而不是在原有的 Map 对象上进行修改。

Map(映射)对象是以一对或多对的 key/value 来表示。

29、map-get(map, key)

返回 Mapkey 所对应的 value 值。如没有对应的 key,则返回 null 值。

$font-sizes: ("small": 16px, "normal": 16px, "large": 32px)
map-get($font-sizes, "small") // 16px

30、map-has-key(map, key)

判断 map 是否有对应的 key,存在返回 true,否则返回 false

$font-sizes: ("small": 12px, "normal": 18px, "large": 24px)
map-has-key($font-sizes, "big") // false

31、map-keys(map)

返回 map 中所有的 key 组成的队列。

$font-sizes: ("small": 12px, "normal": 18px, "large": 24px)
map-keys($font-sizes) // "small", "normal, "large"

32、map-values(map)

返回 map 中所有的 value 并生成一个队列。

$font-sizes: ("small": 12px, "normal": 18px, "large": 24px)
map-values($font-sizes) // 12px, 18px, 24px

33、map-merge(map1, map2)

合并两个 map 形成一个新的 map 类型,即将 map2 添加到 map1 的尾部。

$font-sizes: ("small": 12px, "normal": 18px, "large": 24px)
$font-sizes2: ("x-large": 30px, "xx-large": 36px)
map-merge($font-sizes, $font-sizes2)
//"small": 12px, "normal": 18px, "large": 24px, "x-large": 30px, "xx-large": 36px

34、map-remove(map, keys…)

移除 map 中的 keys,多个 key 使用逗号隔开。

$font-sizes: ("small": 12px, "normal": 18px, "large": 24px)
map-remove($font-sizes, "small") // ("normal": 18px, "large": 24px) 
map-remove($font-sizes, "small", "large") // ("normal": 18px)

选择器函数

35、is-superselector(super, sub)

比较两个选择器匹配的范围,即判断 super 选择器是否包含了 sub 选择器所匹配的范围,是的话返回 true,否则返回 false

is-superselector("div", "div.myInput") // true
is-superselector("div.myInput", "div") // false
is-superselector("div", "div") // true

36、selector-append(selectors)

将第二个或者多个添加到第一个选择器的后面。

selector-append("div", ".myInput") // div.myInput
selector-append(".warning", "__a") 结果: .warning__a

37、selector-nest(selectors)

返回一个新的选择器,该选择器通过提供的列表选择器生成一个嵌套的列表。

selector-nest("ul", "li") // ul li
selector-nest(".warning", "alert", "div") // .warning div, alert div

38、selector-parse(selector)

将字符串的选择符 selector 转换成选择器队列。

selector-parse("h1 .myInput .warning") // ('h1' '.myInput' '.warning')

39、selector-replace(selector, original, replacement)

给定一个选择器,用 replacement 替换 original 后返回一个新的选择器队列。

selector-replace("p.warning", "p", "div") // div.warning

40、selector-unify(selector1, selector2)

将两组选择器合成一个复合选择器。如两个选择器无法合成,则返回 null 值。

selector-unify("myInput", ".disabled") //
myInput.disabled selector-unify("p", "h1") // null

41、simple-selectors(selectors)

将合成选择器拆为单个选择器。

simple-selectors("div.myInput") // div, .myInput
simple-selectors("div.myInput:before") // div, .myInput, :before

颜色函数(一)颜色设置

对颜色的设置和编辑永远是前端设计的首要一步。

42、rgb(red, green, blue)

创建一个 Red-Green-Blue (RGB) 色。其中 Rred 表示红色,而 Ggreen 绿色,Bblue 蓝色。

rgb(0, 255, 255);

43、rgba(red, green, blue, alpha)

根据红、绿、蓝和透明度值创建一个颜色。

rgba(0, 255, 255, 0.3);

44、hsl(hue, saturation, lightness)

通过色相 (hue)、饱和度 (saturation) 和亮度 (lightness) 的值创建一个颜色。

hsl(120, 100%, 50%); // 绿色
hsl(120, 100%, 75%); // 浅绿色
hsl(120, 100%, 25%); // dark green
hsl(120, 60%, 70%); // 柔和的绿色

45、hsla(hue, saturation, lightness, alpha)

通过色相 (hue)、饱和度 (saturation)、亮度 (lightness) 和透明 (alpha) 的值创建一个颜色。

hsl(120, 100%, 50%, 0.3); // 绿色带有透明度
hsl(120, 100%, 75%, 0.3); // 浅绿色带有透明度

46、grayscale(color)

将一个颜色变成灰色,相当于 desaturate( color,100%)

grayscale(#7fffd4); // #c6c6c6

47、complement(color)

返回一个补充色,相当于 adjust-hue($color,180deg)

complement(#7fffd4); // #ff7faa

48、invert(color, weight)

返回一个反相色,红、绿、蓝色值倒过来,而透明度不变。

invert(white); // black

颜色函数(二)颜色获取

49、red(color)

从一个颜色中获取其中红色值 (0-255),可用于取出某个 hex 颜色中的红色值。

red(#7fffd4); // 127
red(red); // 255

50、green(color)

从一个颜色中获取其中绿色值 (0-255)

green(#7fffd4); // 255
green(blue); // 0

51、blue(color)

从一个颜色中获取其中蓝色值 (0-255)

blue(#7fffd4); // 212
blue(blue); // 255

52、hue(color)

返回颜色在 HSL 色值中的角度值 (0deg - 255deg)

hue(#7fffd4); // 160deg

53、saturation(color)

获取一个颜色的饱和度值 (0% - 100%)

saturation(#7fffd4); // 100%

54、lightness(color)

获取一个颜色的亮度值 (0% - 100%)

lightness(#7fffd4); // 74.9%

55、alpha(color)

返回颜色的 alpha,返回值为 01

alpha(#7fffd4); // 1

56、opacity(color)

获取颜色透明度值 (0-1)

opacity(rgba(127, 255, 212, 0.5); // 0.5

颜色函数(三)颜色操作

57、mix(color1, color2, weight)

把两种颜色混合起来。

weight 参数必须是 0%100%。默认 weight50%,表明新颜色各取 50% color1color2 的色值相加。

58、adjust-hue(color, degrees)

通过改变一个颜色的色相值 (-360deg - 360deg),创建一个新的颜色。

adjust-hue(#7fffd4, 80deg); // #8080ff

59、rgba(color, alpha)

根据红、绿、蓝和透明度值创建一个颜色。

rgba(#7fffd4, 30%); // rgba(127, 255, 212, 0.3)

60、lighten(color, amount)

通过改变颜色的亮度值 (0% - 100%),让颜色变亮,创建一个新的颜色。

61、darken(color, amount)

通过改变颜色的亮度值 (0% - 100%),让颜色变暗,创建一个新的颜色。

62、saturate(color, amount)

提高传入颜色的色彩饱和度。
等同于 adjust-color( color, saturation: amount)

63、desaturate(color, amount)

调低一个颜色的饱和度后产生一个新的色值。同样,饱和度的取值区间在 0% ~ 100%
等同于 adjust-color(color, saturation: -amount)

64、opacify(color, amount)

降低颜色的透明度,取值在 0-1 之间。
等价于 adjust-color(color, alpha: amount)

65、fade-in(color, amount)

降低颜色的透明度,取值在 0-1 之间。
等价于 adjust-color(color, alpha: amount)

66、transparentize(color, amount)

提升颜色的透明度,取值在 0-1 之间。
等价于 adjust-color(color, alpha: -amount)

67、fade-out(color, amount)

提升颜色的透明度,取值在 0-1 之间。
等价于 adjust-color(color, alpha: -amount)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/650214.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

仰暮计划|“星星之火可以燎原,平凡人的一生同样值得称赞

传递助老之情,践行为老初心。为学习和发扬助老为老精神,我参与了康乐忆享实践队开展的以“仰暮计划”为主题的实践活动,在实践过程中了解老人的人生经历,传播尊老爱老思想。我与老人谭爷爷在谈论家常时,他拿出年轻时的…

【项目日记(五)】第二层: 中心缓存的具体实现(上)

💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:项目日记-高并发内存池⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你做项目   🔝🔝 开发环境: Visual Studio 2022 项目日…

CentOS安装Redis教程-shell脚本一键安装配置

文章目录 前言一、Redis单机版安装教程1. 复制脚本2. 增加执行权限3. 执行脚本 二、Redis扩展集群版安装教程1. 安装Redis单机版2. 复制脚本3. 增加执行权限4. 执行脚本5. 测试6. redis_cluster.sh 命令6.1 启动Redis扩展集群6.2 停止Redis扩展集群6.3 查看Redis扩展集群节点信…

手写rpc和redis

rpc框架搭建 consumer 消费者应用 provider 提供的服务 Provider-common 公共类模块 rpc 架构 service-Registration 服务发现 nacos nacos配置中心 load-balancing 负载均衡 redis-trench 手写redis实现和链接 package com.trench.protocol;import com.trench.enumUtil.Redis…

AI编译器的前端优化策略

背景 工作领域是AI芯片工具链相关,很多相关知识的概念都是跟着项目成长建立起来,但是比较整个技术体系在脑海中都不太系统,比如项目参与中涉及到了很多AI编译器开发相关内容,东西比较零碎,工作中也没有太多时间去做复盘…

Docker容器(自定义镜像,Dockerfile,网桥,DockerCompose)

自定义镜像 镜像就是包含了应用程序、程序运行的系统函数库、运行配置等文件的文件包。构建镜像的过程其实就是把上述文件打包的过程。 构建步骤 镜像结构 Dockerfile 它是一个文本文件,包含很多指令,用指令来说明要执行什么操作来构建镜像。 官网&am…

序列化和反序列化

目录 字节流序列化反序列化区别示例字节流需要注意的问题 字节流 字节流在计算机科学中是一种常见的数据结构,它是一系列字节的序列。字节流通常用来处理输入和输出的数据,例如读写文件、网络通信等。一个字节由8位二进制数字组成,可以代表一…

jQuery HTML - 获取 —— W3school 详解 简单易懂(十一)

jQuery 获得内容和属性 jQuery ChainingjQuery 设置 jQuery 拥有可操作 HTML 元素和属性的强大方法。 jQuery DOM 操作 jQuery 中非常重要的部分,就是操作 DOM 的能力。 jQuery 提供一系列与 DOM 相关的方法,这使访问和操作元素和属性变得很容易。 …

【漏洞复现】友讯D-Link路由器弱口令漏洞

Nx01 产品简介 友讯电子设备(上海)有限公司于2002年8月13日成立。公司经营范围包括区内以路由器、网络卡、集线器、交换器、转换器等。 Nx02 漏洞描述 友讯D-Link路由器存在默认口令(admin/admin),攻击者可利用该漏洞获取敏感信息。 Nx03 产…

windows .vscode的json文件配置 CMake 构建项目 调试窗口中文设置等

一、CMake 和 mingw64的安装和环境配置 二、tasks.json和launch.json文件配置 tasks.json {"version": "2.0.0","options": {"cwd": "${workspaceFolder}/build"},"tasks": [{"type": "shell&q…

openssl3.2/test/certs - 074 - CT entry

文章目录 openssl3.2/test/certs - 074 - CT entry概述笔记setup074.shsetup074_sc1.shsetup074_sc2.shsetup074_sc3.shEND openssl3.2/test/certs - 074 - CT entry 概述 openssl3.2 - 官方demo学习 - test - certs 笔记 setup074.sh #! /bin/bash# \file setup074.sh# o…

软件设计师——计算机网络(四)

📑前言 本文主要是【计算机网络】——软件设计师——计算机网络的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 &#x1…

react中优化类名写法(类似与vue的动态class对象方式)

安装和引入方式 npm install classnamesimport classNames form classsnames//render 方法中,需要动态className的地方直接参照上图使用

【NodeJS JS】动态加载字体的各方式及注意事项;

首先加载字体这个需求基本只存在于非系统字体,系统已有字体不需要加载即可直接使用; 方案1:创建 style 标签,写入 font-face{font-family: xxx;src: url(xxx)} 等相关字体样式;将style标签添加到body里;方…

手机操作系统Android

▶1.Android系统概述 Andaid(读[安卓)由Coosle公司和开放手机联盟共同开发,它是基于Lmx内核的开源操作系统。Andtoid主要用于移动设备,如智能手机和平板计算机。2008年发布了第一部Andtoid智能手机,以后Android逐渐扩展到平板计算机、电视、…

C++学习| QT下载安装、VS配置QT

QT介绍 Qt:1991年由Qt Company开发的跨平台C图形用户界面应用程序开发框架。 应用:既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。 对比MFC:MFC和QT两者都是用于C图形用户界面应用程序。 跨平…

c#反射用法

在 C# 中,反射是一种能够在运行时检查类型信息、访问属性和调用方法的机制。通过反射,你可以动态地操作类型、对象和程序集,而无需在编译时知道这些类型的具体信息。 反射提供了一组 API,可以让你在运行时获取和操作类型的信息。…

念念不忘智能编程,必有回响CodeArts Snap

开发者的碎碎念 之前在【我与ModelArts的故事】的文章里,分享过我学习新技术的经历,主要有: 自主学习,比如自学Python;借助华为云的产品边用边学。 在围着"编程学习"这座城池,外围来来回回转了…

嵌入式培训机构四个月实训课程笔记(完整版)-Linux ARM平台编程第六天-文件系统(物联技术666)

链接:https://pan.baidu.com/s/1VUc8cGI7bTtXuGepZZY3Ng?pwd1688 提取码:1688 1、windows和linux之间可以,利用samb服务器共享 2、linux和linux之间可以利用nfs共享 3、windows和linux还可以利用telnet : # telnetd WINDOWS上…

适用于 Windows 的 10 个最佳数据恢复工具学习

在数字时代,数据就是一切。从珍贵的家庭照片和重要的工作文档到最喜欢的音乐和电影,我们的生活越来越多地存储在各种设备上。系统崩溃、意外删除或恶意病毒都可能使您的宝贵数据瞬间消失。这就是数据恢复工具的用武之地。 10 个最佳数据恢复工具 这些软…