【SCSS变量】$ | | var | @for | @include | @function | @each 等常用方法使用

news2025/2/25 18:09:06

SCSS优点:编写清晰、无冗余、语义化的CSS,减少不必要的重复工作

  • 1、变量声明(`$`)和使用
  • 2、使用 `&` 代替父元素
  • 3、在HTML中使用 `:style={'--name': 动态值}`自定义属性,在SCSS中用`var(--name)`函数绑定动态变量值,
  • 4、混合器(`@mixin`)和使用(`@include`)
  • 5、给混合器(`@mixin`)定义参数,并使用(`@include`)传参
  • 6、使用 (`@extend`)继承 公共类(元素名、.class)
  • 7、使用 `@function` 和 `@for` 循环语句
  • 8、使用 `@each` 循环

1、变量声明($)和使用

// 用`$`声明变量
$color: red;
// 直接使用变量
span{ color: $color; }
p{ background: $color; }

2、使用 & 代替父元素

a{
	color: red;
	&:hover{
		color: green;
	}
}

3、在HTML中使用 :style={'--name': 动态值}自定义属性,在SCSS中用var(--name)函数绑定动态变量值,

<p v-for="(item, index) in dataList" :key="index" :style="{'--color': item.color}" >{{item.name}}</p>
p{
	color: var(--color);
}
data() {
	return {
		dataList: [
			{name: '红色', color: 'red'},
			{name: '蓝色', color: 'blue'},
			{name: '绿色', color: 'green'}
		]
	}
}

在这里插入图片描述

4、混合器(@mixin)和使用(@include

// @mixin声明混合器: 圆角边框

@mixin round-radius{
	border-radius: 10px;
	background: red;
}
// 使用@include 混入一段重用样式的代码

p{ 
	width: 200px;
	height: 100px;
	@include round-radius;  // @include 使用变量
}

5、给混合器(@mixin)定义参数,并使用(@include)传参

// @mixin声明混合器: a不同状态的颜色参数

@mixin link-colors($normal, $hover, $visited) {
  color: $normal;
  &:hover { color: $hover; }
  &:visited { color: $visited; }
}
// @include 使用变量,并传入实际参数

a {
  @include link-colors(blue, red, green);
}
//Sass编译后最终生成的是:

a { color: blue; }
a:hover { color: red; }
a:visited { color: green; }

6、使用 (@extend)继承 公共类(元素名、.class)

//通过选择器继承继承样式
.error {
  border: 1px solid red;
  background-color: #fdd;
}

.seriousError {
  @extend .error; // 继承
  border-width: 3px;
}

7、使用 @function@for 循环语句

@for 指令可在限制的范围内重复输出格式,每次按要求(变量的值)对输出结果做出变动。
包含两种格式:
@for $var from <start> through <end>  代表 [ start, end ]
@for $var from <start> to <end>  代表 [ start, end },不包含end
另外,$var 可以是任何变量,如 $i;<start><end> 必须是整数值。

用法一:

@for $i from 1 through 3 {
  .item-#{$i} { width: 2em * $i; }
}
// 编译为:
.item-1 { width: 2em; }
.item-2 { width: 4em; }
.item-3 { width: 6em; }

用法二:

// 使用scss随机添加 box-shadow,参数 n = 个数,range = 范围

@function multiple-box-shadow($n, $range) {
  $value: '#{random($range)}px #{random($range)}px #FFF';
  @for $i from 1 through $n {
    $value: '#{$value} , #{random($range)}px #{random($range)}px #FFF';
  }
  @return unquote($value); // 去掉''引号
}
#stars {
  width: 1px;
  height: 1px;
  box-shadow: multiple-box-shadow(700, 2000);
}

利用box-shadow随机画出小方块组成星空
在这里插入图片描述

8、使用 @each 循环

@each $color in red, blue, green{
  .#{$color}-icon {
    background-image: url('/images/#{$color}.png');
  }
}
// 编译为:
.red-icon {
  background-image: url('/images/red.png'); 
}
.blue-icon {
  background-image: url('/images/blue.png'); 
}
.green-icon {
  background-image: url('/images/green.png'); 
}

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

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

相关文章

一文搞懂数据中心ip和住宅ip

我们在购买到一个代理后&#xff0c;通过检测网址会看到检测类型会出现有hosting或者具体的某个运营商&#xff0c;代表这是两种不同的代理&#xff1a;数据中心代理以及isp住宅代理。 1、什么是isp住宅代理 ISP 全称为 Internet Service Provider&#xff08;互联网服务提供…

C语言之feof与fgetc应用实例(八十一)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

【FreeRTOS】【STM32】中断详细介绍

文章目录 一、三种优先级的概念辨析1. 先理清楚两个概念&#xff1a;CPU 和 MPU2. Cortex-M3 内核与 STM32F1XX 控制器有什么关系3. 优先级的概念辨析① Cortex-M3 内核和 STM32F1XX 的中断优先级② FreeRTOS 的任务的优先级 二、 Cortex-M3 内核的中断优先级1. 中断编号2. 优先…

XD转Sketch完美实现,这款神器助你轻松转换设计文件

Adobe XD和Sketch作为主流设计软件,却存在文件格式不兼容的痛点。设计师经常需要在两款软件之间互相转换设计稿件,头疼不已。那么有没有一种简单快捷的方法实现XD到Sketch的格式转换呢?答案是有的!今天就来看看这个神奇的在线互转工具。 XD转Sketch&#xff0c;在线免费转 这…

栈和队列在数据结构中的应用

文章目录 理解栈和队列的概念及其特点栈的应用和操作队列的应用和操作结论 &#x1f389;欢迎来到数据结构学习专栏~探索栈和队列在数据结构中的应用 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒&#x1f379;✨博客主页&#xff1a;IT陈寒的博客&#x1f388;该系列文章专栏&#xff1a;…

基于YOLOV8模型和Kitti数据集的人工智能驾驶目标检测系统(PyTorch+Pyside6+YOLOv8模型)

摘要&#xff1a;基于YOLOV8模型和Kitti数据集的人工智能驾驶目标检测系统可用于日常生活中检测与定位车辆、汽车等目标&#xff0c;利用深度学习算法可实现图片、视频、摄像头等方式的目标检测&#xff0c;另外本系统还支持图片、视频等格式的结果可视化与结果导出。本系统采用…

Linux之基础IO文件系统讲解

基础IO文件系统讲解 回顾C语言读写文件读文件操作写文件操作输出信息到显示器的方法stdin & stdout & stderr总结 系统文件IOIO接口介绍文件描述符fd文件描述符的分配规则C标准库文件操作函数简易模拟实现重定向dup2 系统调用在minishell中添加重定向功能 FILE文件系统…

【项目管理】PMP考试总结

2023年08月19日考完了PMP&#xff0c;总结一下子 1、花费费用 先算下花费及购置的材料&#xff1a; 5月14日&#xff1a;书-拼多多 PMBOK指南第七版&#xff0c;19.8 5月28日&#xff1a;书-淘宝&#xff1a; 敏捷实践指南&#xff0c;30.49&#xff0c; PMBOK指南第6版&…

将一个树形结构的数据平铺成一个一维数组(vue3)

一、需求描述 由于自带组件库没有具体完善,无法实现像element-ui这种可以多选选择任意一级的选项,也就是说,选择父级的时候不会联动选择子级的全部 例如: 所以,才会出现【二、案例场景】类似的场景,可以用来多选 ,并可以实现单选父级而不关联子级,选择了将树状数据进…

浅谈 Linux 下 vim 的使用

Vim 是从 vi 发展出来的一个文本编辑器&#xff0c;其代码补全、编译及错误跳转等方便编程的功能特别丰富&#xff0c;在程序员中被广泛使用。 Vi 是老式的字处理器&#xff0c;功能虽然已经很齐全了&#xff0c;但还有可以进步的地方。Vim 可以说是程序开发者的一项很好用的工…

AutoSAR配置与实践(基础篇)3.6 BSW的WatchDog功能

3.6 BSW的WatchDog功能 一、WatchDog功能介绍1.1 WatchDog 模块组成1.2 内外部看门狗区别和原理1.3 常见看门狗校验方式一、WatchDog功能介绍 1.1 WatchDog 模块组成 WatchDog 即看门狗功能。这个看门狗不是真正看家的狗,而是软件的一个模块,但是因为功能类似故以此起名。主…

LeetCodeHot100python版本:单调栈,栈,队列,堆

单调栈 739. 每日温度 42. 接雨水 双指针 单调栈(横向求解) ​​​​​​84. 柱状图中最大的矩形 栈和队列 队列:先入先出 栈:先入后出 两个栈 模拟 队列 一个队列 可以模拟 栈 20. 有效的括号 ​​​​​​155. 最小栈 394. 字符串解码 堆 215. 数组中的第K个最大元素 3…

嵌入式Linux开发实操(十二):PWM接口开发

# 前言 使用pwm实现LED点灯,可以说是嵌入式系统的一个基本案例。那么嵌入式linux系统下又如何实现pwm点led灯呢? # PWM在嵌入式linux下的操作指令 实际使用效果如下,可以通过shell指令将开发板对应的LED灯点亮。 点亮3个LED,则分别使用pwm1、pwm2和pwm3。 # PWM引脚的硬…

拆解1000篇爆文!揭秘种草爆文四大万能公式

2023年上半场已收官&#xff0c;小红书用户青睐什么内容&#xff1f; 千瓜调研2023上半年的1000篇商业笔记爆文&#xff0c;从笔记类型和内容特征两大层面总结以下四大内容种草爆文公式&#xff0c;快来围观&#xff01; 突破同质化 爆款内容创新风向 笔记类型角度 千瓜调…

2022年度瞪羚培育企业名单公布,科东软件上榜

8月23日&#xff0c;广州市黄埔区、广州开发区2022年度瞪羚企业和瞪羚培育企业名单公布。科东软件凭借国产化技术创新优势、成熟的数字化转型方案和强劲的经营成长韧性&#xff0c;入选广州开发区2022年度瞪羚培育企业。 瞪羚培育企业是指未来在科技创新或商业模式创新方面有…

Navicat安装教程

众所周知&#xff0c; Navicat是一款轻量级的用于MySQL连接和管理的工具&#xff0c;非常好用&#xff0c;使用起来方便快捷&#xff0c;简洁。下面我会简单的讲一下其安装以及使用的方法。并且会附带相关的永久安装教程。 简介 一般我们在开发过程中是离不开数据库的&#xf…

win11 设置小任务栏

设置后效果 以下两种工具均可 1、StartAllBack 2、Start11

安全防护产品对接流程讲解

服务器被攻击了&#xff0c;怎么对接高防产品呢&#xff0c;需要提供什么&#xff1f; 1、配置转发规则&#xff1a;提供域名、IP、端口&#xff0c;由专业技术人员为您配置转发协议/转发端口/源站IP等转发规则&#xff0c;平台会分配该线路独享高防IP。 2、修改DNS解析&…

2023年高教社杯数学建模思路 - 复盘:校园消费行为分析

文章目录 0 赛题思路1 赛题背景2 分析目标3 数据说明4 数据预处理5 数据分析5.1 食堂就餐行为分析5.2 学生消费行为分析 建模资料 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 赛题背景 校园一卡通是集…

Frp自建内网穿透

目录 Frp使用须知 Frp的工作原理 Frp配置服务端 frp文件夹内的文件 frps.ini配置文件 仪表盘 Frp配置客户端 文件目录 frpc.ini配置文件 Frp使用须知 前言&#xff1a;自建frp需要部署服务端以及客户端&#xff0c;服务端类似于花生壳服务端&#xff0c;ngrok服务端…