当前位置: 首页 > news >正文

SASS常用内置函数

1,math

引入@use "sass:math";

常用函数:

  • ceil($number) - 向上取整
  • floor($number) - 向下取整
  • round($number) - 四舍五入
  • max($number...) - 比较若干数值并取最大值
  • min($number...) - 比较若干数值并取最小值
  • random() - 取0~1之间的随机数

示例

@use "sass:math";@debug ceil(3.1); // 5
@debug max(5px, 2px, 3px); // 5px
@debug random(); // 0.6581354

2,string

引入@use "sass:string";

常用函数:

  • [str-]length($string) - 字符串长度(局部函数,全局函数前缀加str-)
  • [str-]index($string, $substring) - 返回指定字符在字符串的索引位置(索引从1开始
  • [str-]slice($string, $start, $end) - 截取字符串
  • [str-]insert($string, $insert, $index) - 向指定位置插入字符串
  • to-upper-case($string) - 转换成大写字母
  • to-lower-case($string) - 转换成小写字母
  • quote($string) - 将字符串添加引号
  • unquote($string) - 去除字符串的引号
  • unique-id() - 随机生成一个当前环境下唯一的字符串

示例:

@use "sass:string";@debug str-length("abc"); // 3
@debug str-slice("abcd", 2, 3); // "bc"
@debug quote(abc); // "abc"

3,list

引入@use "sass:list";

常用函数

  • append($list, $val, [$spilt]) - 追加元素,$split参数为分隔符(space-空格,comma-逗号,slash-斜杠
  • index($list, $val) - 元素的索引位置,从1开始
  • length($list) - 数组长度
  • nth($list, $index) - 获取指定索引位置的值
  • set-nth($list, $index, $val) - 设置指定位置的值

示例

@use "sass:list";$list1: 10px, 12px, 14px;@debug append($list1, 16px); // 10px, 12px, 14px, 16px
@debug nth($list1, 2); // 12px

4,map

引入@use "sass:map";

常用函数

  • [map-]get($map, $key, [$keys...]) - 通过key值获取value;支持传入多个key值获取深层的值
  • [map.]set($map, $key, [$keys...], $value) - 设置key的值;支持传多个key设置深层的值
  • [map-]keys($map) - 获取所有键的列表
  • [map-]values($map) - 获取所有值的列表
  • [map-]has-key($map, $key, [$keys...]) - 判断是否包含某个键;支持深层key
  • [map-]remove($map, $keys...) - 移除一个或多个key
  • [map.]deep-remove($map, $key, $keys...) - 移除深层的key
  • [map-]merge($map1, $map2) - 浅层次合并两个map,相同的属性取$map2的值
  • [map.]deep-merge($map1, $map2) - 深层次合并两个map

示例

@use "sass:map";// 定义map变量
$man: (name: "zhangsan",age: 18,like: (face: round,height: 18px)
)@debug map-get($man, "name"); // "zhangsan"
@debug map-get($man, "like", "height"); // 18px
@debug map-has-key($man, "like"); // true
@debug map-merge((name: "a", age: 12), (name:"b", sex: 'x')); // (name: "b", age: 12, sex: 'x')

5,color

引入@use "sass:color";

常用函数

  • mix($color1, $color2, $weight) - color1和color2颜色占比混合$weight表示color1颜色的占比,从0% ~100%
  • opacity($color) - 获取颜色的透明度
  • opacity($color, $amont) - 设置颜色的透明度,$amont的值在0~1之间

示例:

@use "sass:color";@debug mix(#409EFF, #FFFFFF, 10%); // #ECF5FF 蓝色取10%,更接近白色
@debug mix(#409EFF, #FFFFFF, 90%); // #53A8FF 蓝色取90%,更接近蓝色
@debug opacity(#F023FF, 0.5); // 透明度为0.5

6,meta

引入@use "sass:meta";

常用函数

  • type-of($value) - 变量的类型,返回值例如string、number、list、map、color、function、null、bool(布尔类型boolean)、arglist(参数argument List)、calculation等
  • function-exists($name, [$module]) - 判断某个模块或当前样式表是否存在指定的函数
  • mixin-exists($name, [$module])- 判断某个模块或当前样式表是否存在指定的mixin
  • variable-exists($name) - 判断当期作用域中是否存在指定的变量
  • global-variable-exists($name, [$module]) - 判断某个模块或当前样式表是否存某个在全局变量或者全局函数

示例:

@use "sass:meta";$h: 10px;
$q: 10px, 20px, 30px;@debug type-of(12px); // number
@debug type-of($q); // list
@debug variable-exists($h); // true
@debug global-variable-exists($like); // false

7,selector

引入@use "sass:selector";

常用函数

  • [selector-]append($selectors...) - 把多个选择器联合成一个
  • [selector-]nest($selectors...) - 将多个选择器按顺序进行嵌套
  • [selector-]replace($selector, $source, $target) - 将选择器中的指定选择器替换
  • [selector-]selectors($selector) - 将选择器拆分成列表

示例:

@use "sass:selector";@debug selector-append('span', '.active'); // span.active
@debug selector-nest('ul', 'li', '&:hover'); // ul li li:hover
@debug selector-replace('a.disabled', 'a', 'span'); // span.disabled
@debug selector-selectors('.contain.list:before'); // .contain .list :before

相关文章:

SASS常用内置函数

1,math 引入:use "sass:math"; 常用函数: ceil($number) - 向上取整floor($number) - 向下取整round($number) - 四舍五入max($number...) - 比较若干数值并取最大值min($number...) - 比较若干数值并取最小值random() - 取0~1之…...

2023年05月 C/C++(四级)真题解析#中国电子学会#全国青少年软件编程等级考试

C/C++编程(1~8级)全部真题・点这里 第1题:怪盗基德的滑翔翼 怪盗基德是一个充满传奇色彩的怪盗,专门以珠宝为目标的超级盗窃犯。而他最为突出的地方,就是他每次都能逃脱中村警部的重重围堵,而这也很大程度上是多亏了他随身携带的便于操作的滑翔翼。 有一天,怪盗基德像往…...

Emmet 使用笔记小结

Emmet 使用笔记小结 最近在跟视频走 CSS 的教程,然后要写很多的 HTML 结构,就想着总结一下 Emmet 的语法。 Emmet 是一个工具可以用来加速 HTML 和 CSS 的开发过程,不过 emmet 只支持 HTML & XML 文件结构,所以我个人觉得对…...

如何使用Puppeteer进行新闻网站数据抓取和聚合

导语 Puppeteer是一个基于Node.js的库,它提供了一个高级的API来控制Chrome或Chromium浏览器。通过Puppeteer,我们可以实现各种自动化任务,如网页截图、PDF生成、表单填写、网络监控等。本文将介绍如何使用Puppeteer进行新闻网站数据抓取和聚…...

【LeetCode每日一题合集】2023.8.7-2023.8.13(动态规划分治)

文章目录 344. 反转字符串1749. 任意子数组和的绝对值的最大值(最大子数组和)1281. 整数的各位积和之差1289. 下降路径最小和 II解法1——动态规划 O ( n 3 ) O(n^3) O(n3)解法2——转移过程优化 O ( n 2 ) O(n^2) O(n2) ⭐ 1572. 矩阵对角线元素的和解法…...

微信小程序修改vant组件样式

1 背景 在使用vant组件开发微信小程序的时候,想更改vant组件内部样式,达到自己想要的目的(van-grid组件改成宫格背景色为透明,默认为白色),官网没有示例,通过以下几步修改成功。 2 步骤 2.1 …...

yum 、rpm、yumdownloader、repotrack 学习笔记

1 Linux 包管理器概述 rpm的使用: rpm -ivh filename.rpm#这列出该packageName(包名)安装的所有文件列表。 rpm -ql packageName #查询已安装的该packageName的详细信息,包括版本、发布日期等。 rpm -qi packageName #列出该pac…...

python检测CPU占用、内存和磁盘剩余空间 脚本

python检测CPU占用、内存和磁盘剩余空间 脚本。后续将其加入到计划列表中即可 # codingutf-8 import time import psutil import osimport smtplibfrom email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText # email 用于构建邮件内容 from email…...

量化策略:CTA,市场中性,指数增强

CTA 策略 commodity Trading Advisor Strategy,即“商品交易顾问策略”,也被称作管理期货策略。 期货T0,股票T1双向交易:就单向交易而言的,不仅能先买入再卖出(做多),而且可以先卖…...

L1-051 打折(Python实现) 测试点全过

前言: {\color{Blue}前言:} 前言: 本系列题使用的是,“PTA中的团体程序设计天梯赛——练习集”的题库,难度有L1、L2、L3三个等级,分别对应团体程序设计天梯赛的三个难度。更新取决于题目的难度,…...

任意文件读取和漏洞复现

任意文件读取 1. 概述 一些网站的需求,可能会提供文件查看与下载的功能。如果对用户查看或下载的文件没有限制或者限制绕过,就可以查看或下载任意文件。这些文件可以是漂代码文件,配置文件,敏感文件等等。 任意文件读取会造成&…...

编译KArchive在windows10下

使用QT6和VS2019编译KArchive的简要步骤: 安装 Qt ,我是用源码自己编译的 "F:\qtbuild"安装CMakefile并配置环境变量安装Git下载ECM源码 https://github.com/KDE/extra-cmake-modules.git-------------------------------------------------…...

【Python】批量下载页面资源

【背景】 有一些非常不错的资源网站,比如一些MP3资源网站。资源很丰富,但是每一个资源都不大,一个一个下载费时费力,想用Python快速实现可复用的批量下载程序。 【思路】 获得包含资源链接的静态页面,用beautifulsoup分析页面,获得所有MP3资源的实际地址,然后下载。…...

Windows NUMA编程实践 – 处理器组、组亲和性、处理器亲和性及版本变化

Windows在设计之初没有考虑过对大数量的多CPU和NUMA架构的设备的支持,大部分关于CPU的设计按照64个为上限来设计。核心数越来越多的多核处理器的进入市场使得微软不得不做较大的改动来进行支持,因此Windows 的进程、线程和NUMA API在各个版本中行为不一样…...

MATLAB中编译器中的变量联系到Simulink

MATLAB中编译器中的变量联系到Simulink 现在编译器中创建变量,进行编译,使其生成在工作区。 然后在Simulink中国使用变量即可。...

开展自动化方案时,需要考虑哪些内容,开展实施前需要做哪些准备呢?

在开展软件自动化测试方案时,需要考虑以下方面: 选择合适的自动化测试工具:根据项目的需求和技术栈选择适合的自动化测试工具,如Selenium、Appium、Jenkins等。确定自动化测试范围:明确需要自动化的功能模块和业务场景…...

进程、线程、内存管理

目录 进程和线程区别 进程和线程切换的区别 系统调用流程 系统调用是否会引起线程切换 为什么需要使用虚拟内存 进程和线程区别 本质区别: 进程是资源分配的基本单元。 线程是操作系统调度的基本单元。 地址空间: 进程具有独立的虚拟地址空间。 线程…...

设计模式系列-创建者模式

一、上篇回顾 上篇我们主要讲述了抽象工厂模式和工厂模式。并且分析了该模式的应用场景和一些优缺点,并且给出了一些实现的思路和方案,我们现在来回顾一下: 抽象工厂模式:一个工厂负责所有类型对象的创建,支持无缝的新增新的类型对…...

加工生产调度

题目描述 某工厂收到了 n 个产品的订单,这 n 个产品分别在 A、B 两个车间加工,并且必须先在 A 车间加工后才可以到 B 车间加工。 某个产品 在 A,B 两车间加工的时间分别为 。怎样安排这 n 个产品的加工顺序,才能使总的加工时间…...

Hadoop 集群小文件归档 HAR、小文件优化 Uber 模式

文章目录 小文件归档 HAR小文件优化 Uber 模式 小文件归档 HAR 小文件归档是指将大量小文件合并成较大的文件,从而减少存储开销、元数据管理的开销以及处理时的任务调度开销。 这里我们通过 Hadoop Archive (HAR) 来进行实现,它是一种归档格式&#xf…...

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

MongoDB学习和应用(高效的非关系型数据库)

一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...

定时器任务——若依源码分析

分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...

Python爬虫(一):爬虫伪装

一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...

C++ 求圆面积的程序(Program to find area of a circle)

给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...

【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)

本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...

【C++进阶篇】智能指针

C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...