Sass 最基础的语法
把每个点最简单的部分记录一下,方便自己查找
官方文档链接
Sass 笔记
- 1. `&` 父选择器,编译后为父选择器
- 2. `:` 嵌套属性
- 3. `$` 变量
- 3.1 数据类型
- 3.2 变量赋值
- 3.3. 数组
- 3.4. map
- 4. 算数运算符
- 5. `#{}`插值语法
- 5.1 可以在选择器或属性名中使用变量
- 5.2 将有引号的字符串编译为无引号
- 6. @import
- 7. @media
- 8. @extend : 延申(感觉像继承)
- 9. 控制指令
- 9.1 `@if` `@else if` `@else`
- 9.2 `@for`
- 9.3 `@each`
- 9.3.1 遍历一维数组
- 9.3.2 遍历`map<key : value>`
- 9.3.3 遍历二维数组
- 9.4 `@while`
- 10 @mixin 混合指令
- 10.1 定义样式并引用
- 10.2 带参数的混合,并且有默认值
- 11. `@function` 函数指令 `@return` 返回
1. &
父选择器,编译后为父选择器
a {font-weight: bold;text-decoration: none;&:hover { text-decoration: underline; }body.firefox & { font-weight: normal; }
}
编译为
a {font-weight: bold;text-decoration: none; }a:hover {text-decoration: underline; }body.firefox a {font-weight: normal; }
2. :
嵌套属性
.funky {font: 20px/24px {family: fantasy;weight: bold;}
}
编译为
.funky {font: 20px/24px;font-family: fantasy;font-weight: bold; }
3. $
变量
#main {$width: 5em !global; // !global:声明为全局变量,可在作用域外使用width: $width;
}
#sidebar {width: $width;
}
编译为
#main {width: 5em;
}
#sidebar {width: 5em;
}
3.1 数据类型
- 数字,
1, 2, 13, 10px
- 字符串,有引号字符串与无引号字符串,
"foo", 'bar', baz
- 颜色,
blue, #04a3f9, rgba(255,0,0,0.5)
- 布尔型,
true, false
- 空值,
null
- 数组 (list),用空格或逗号作分隔符,
1.5em 1em 0 2em, Helvetica, Arial, sans-serif
- maps, 相当于 JavaScript 的 object,
(key1: value1, key2: value2)
3.2 变量赋值
$i: 6;
$i: $i - 2;
$name: jack;
3.3. 数组
数组之间的元素可以用,
隔开,也可以不用
margin: 10px 15px 0 0
font-face: Helvetica, Arial, sans-serif
nth
函数可以直接访问数组中的某一项;
join
函数可以将多个数组连接在一起;
append
函数可以在数组中添加新值;
@each
指令能够遍历数组中的每一项。
3.4. map
(key1 : value1,key2 : value2)
4. 算数运算符
+
-
*
/
>
<
>
=
<=
==
!=
/
有两个作用:除法,分隔数字,具体怎么用看文档+
也用作字符串连接,计算结果以+
左侧的字符串为准
+ 左侧 | + 右侧 | 连接后 |
---|---|---|
有引号 | 有引号 | 有引号 |
无引号 | 无引号 | 无引号 |
有引号 | 无引号 | 有引号 |
无引号 | 有引号 | 无引号 |
5. #{}
插值语法
5.1 可以在选择器或属性名中使用变量
$name: foo;
$attr: border;
p.#{$name} {#{$attr}-color: blue;
}
编译为
p.foo {border-color: blue; }
5.2 将有引号的字符串编译为无引号
@mixin firefox-message($selector) {body.firefox #{$selector}:before {content: "Hi, Firefox users!";}
}
@include firefox-message(".header");
编译为
body.firefox .header:before {content: "Hi, Firefox users!"; }
6. @import
- 导入的是scss文件可以只写文件名:
@import ‘foo’
- 在vue中使用一般情况:
@import url(../xxxx/xxx.css)
- 可以在嵌套进css中使用,这样引入的内容就只能在引入的局部使用
7. @media
8. @extend : 延申(感觉像继承)
属性重复,谁在后面执行谁有优先权
.error {border: 1px #f00;background-color: #fdd;
}
.seriousError {@extend .error;border-width: 3px;
}
编译后
.error .seriousError{border: 1px #f00;background-color: #fdd;
}
.seriousError {border-width: 3px;
}
9. 控制指令
9.1 @if
@else if
@else
$type: monster;
p {@if $type == ocean {color: blue;} @else if $type == matador {color: red;} @else if $type == monster {color: green;} @else {color: black;}
}
编译后
p{color: green
}
9.2 @for
@for $var from <start> through <end>
包含start和end的值
@for $var from <start> to <end>
不包含start的值,包含end的值
@for $i from 1through 3 {.item-#{$i} { width : 2em * $i }
}
编译后
.item-1 { width: 2em }
.item-2 { width: 4em }
.itme-3 { width: 6em }
9.3 @each
@each $var in <list>
list可以是一连串的字符串、数组、map
9.3.1 遍历一维数组
@each $animal in puma, sea-slug, etret, salamander {.#{$animal}-icon{background-image: url('/images/#{$animal}.png');}
}
编译后
.puma-icon { background-image: url('/images/puma.png'); }
.sea-slug-icon { background-image: url('/images/sea-slug-icon.png'); }
.etret-icon { background-image: url('/images/etret.png'); }
.salamander-icon { background-image: url('/images/salamander.png'); }
9.3.2 遍历map<key : value>
@each $header, $size in (h1: 2em, h2: 1.5em, h3: 1.2em) {#{$header} {font-size: $size;}
}
编译后
h1 {font-size: 2em; }
h2 {font-size: 1.5em; }
h3 {font-size: 1.2em; }
9.3.3 遍历二维数组
@each $animal, $color, $cursor in (puma, black, default),(sea-slug, blue, pointer),(egret, white, move) {.#{$animal}-icon {background-image: url('/images/#{$animal}.png');border: 2px solid $color;cursor: $cursor;}
}
编译后
.puma-icon {background-image: url('/images/puma.png');border: 2px solid black;cursor: default; }
.sea-slug-icon {background-image: url('/images/sea-slug.png');border: 2px solid blue;cursor: pointer; }
.egret-icon {background-image: url('/images/egret.png');border: 2px solid white;cursor: move; }
9.4 @while
$i: 6;
@while $i > 0 {.item-#{$i} { width: 2em * $i; }$i: $i - 2;
}
编译后
.item-6 {width: 12em; }.item-4 {width: 8em; }.item-2 {width: 4em; }
10 @mixin 混合指令
@mixin
像定义只是存放数据的函数,但是必须用@include
调用
10.1 定义样式并引用
- 定义,(font:使用了嵌套属性)
@mixin large-text {font: {family: Arial;size: 20px;weight: bold;}color: #ff0000;
}
- 在语句内引用
.page-title {@include large-text;.padding: 4px;margin-top: 10px;
}
- 编译后
.page-title {font-family: Arial;font-size: 20px;font-weight: bold;color: #ff0000;padding: 4px;margin-top: 10px; }
- 如果在最外层调用,没有其他语句包裹
@mixin silly-links {a {color: blue;background-color: red;}
}
@include silly-links;
编译后
a {color: blue;background-color: red;}
10.2 带参数的混合,并且有默认值
@mixin sexy-border($color, $width: 1in) {border: {color: $color;width: $width;style: dashed;}
}p { @include sexy-border(blue); }
或者
p { @include sexy-border($color: blue); }
编译后
p{border-color: blue;border-width: 1in;border-style: dashed;
}
11. @function
函数指令 @return
返回
$grid-width: 40px;
$gutter-width: 10px;@function grid-width($n) {@return $n * $grid-width + ($n - 1) * $gutter-width;
}#sidebar { width: grid-width(5); }
编译为
#sidebar {width: 240px; }
相关文章:
Sass 最基础的语法
把每个点最简单的部分记录一下,方便自己查找 官方文档链接 Sass 笔记 1. & 父选择器,编译后为父选择器2. : 嵌套属性3. $ 变量3.1 数据类型3.2 变量赋值3.3. 数组3.4. map 4. 算数运算符5. #{}插值语法5.1 可以在选择器或属性名中使用变量5.2 将有引…...

2023年11月数据库流行度最新排名
点击查看最新数据库流行度最新排名(每月更新) 2023年11月数据库流行度最新排名 TOP DB顶级数据库索引是通过分析在谷歌上搜索数据库名称的频率来创建的 一个数据库被搜索的次数越多,这个数据库就被认为越受欢迎。这是一个领先指标。原始数…...

JavaEE-部署项目到服务器
本部分内容为:安装依赖:JDK,Tomcat,Mysql;部署项目到服务器 什么是Tomcat Tomcat简单的说就是一个运行JAVA的网络服务器,底层是Socket的一个程序,它也是JSP和Serlvet的一个容器。 为什么我们需要…...

计算机网络期末复习-Part1
1、列举几种接入网技术:ADSL,HFC,FTTH,LAN,WLAN ADSL(Asymmetric Digital Subscriber Line):非对称数字用户线路。ADSL 是一种用于通过电话线连接到互联网的技术,它提供…...

Redis系列-Redis过期策略以及内存淘汰机制【6】
目录 Redis系列-Redis过期策略以及内存淘汰机制【6】redis过期策略内存淘汰机制算法LRU算法LFU 其他场景对过期key的处理FAQ为什么不用定时删除策略? Ref 个人主页: 【⭐️个人主页】 需要您的【💖 点赞关注】支持 💯 Redis系列-Redis过期策略以及内存淘…...

多语言翻译软件 Mate Translate mac中文版特色功能
Mate Translate for Mac是一款多语言翻译软件,Mate Translate mac可以帮你翻译超过100种语言的单词和短语,使用文本到语音转换,并浏览历史上已经完成的翻译。你还可以使用Control S在弹出窗口中快速交换语言。 Mate Translate Mac版特色功能…...

Python GUI标准库tkinter实现与记事本相同菜单的文本编辑器(一)
介绍: Windows操作系统中自带了一款记事本应用程序,通常用于记录文字信息,具有简单文本编辑功能。Windows的记事本可以新建、打开、保存文件,有复制、粘贴、删除等功能,还可以设置字体类型、格式和查看日期时间等。 …...
Decimal.ToString()堆栈溢出异常
Decimal.ToString() 堆栈溢出异常 导致以下报错: A process serving application pool XXX suffered a fatal communication error with the Windows Process Activation Service. The process id was 7132. The data field contains the error number. Application pool …...

com.genuitec.eclipse.springframework.springnature
Your IDE is missing natures to properly support your projects. Some extensions on the eclipse marketplace can be installed to support those natures. com.genuitec.eclipse.springframework.springnature 移除 <nature>om.genuitec.eclipse.springframework.…...

wangeditor富文本编辑器的使用(vue)
官网 官方demo 参考 安装 yarn add wangeditor/editor yarn add wangeditor/editor-for-vue 封装的富文本组件 <template><div style"border: 1px solid #ccc"><Toolbarstyle"border-bottom: 1px solid #ccc":editor"editorRef"…...

物联网水表有什么弊端吗?
物联网水表作为新一代智能水表,虽然在很大程度上提高了水资源的管理效率,但也存在一定的弊端。在这篇文章中,我们将详细讨论物联网水表的弊端,以帮助大家更全面地了解这一技术。 一、安全隐患 1.数据泄露:物联网水表通…...

安卓 车轮视图 WheelView kotlin
安卓 车轮视图 WheelView kotlin 前言一、代码解析1.初始化2.初始化数据3.onMeasure4.onDraw5.onTouchEvent6.其他 6.ItemObject二、完整代码总结 前言 有个需求涉及到类似这个视图,于是在网上找了个轮子,自己改吧改吧用,拿来主义当然后&…...
升级Redisson版本兼容问题
升级版本:从 3.10.6 升级到3.18.0 报错: java.io.IOException: Unsupported protocol version 252 java.io.IOException: Unsupported protocol version 252at org.jboss.marshalling.river.RiverUnmarshaller.start(RiverUnmarshaller.java:1375)at org.redisson…...
前端框架Bootstrap
前端框架Bootstrap 该框架已经帮我们写好了很多页面样式,如果需要使用,只需要下载对应文件 直接CV拷贝即可 在使用Bootstrap的时候,所有的页面样式只需要通过修改class属性来调节即可 什么是Bootstrap Bootstrap是一个开源的前端框架…...

Flink SQL TopN语句详解
TopN 定义(⽀持 Batch\Streaming): TopN 对应离线数仓的 row_number(),使⽤ row_number() 对某⼀个分组的数据进⾏排序。 应⽤场景: 根据 某个排序 条件,计算 某个分组 下的排⾏榜数据。 SQL 语法标准&am…...
k8s之数据卷
一,存储卷 容器磁盘上的文件的生命周期是短暂的,这就使得在容器中运行重要应用时会出现一些问题。首先,当容器崩溃时,kubelet 会重启它,但是容器中的文件将丢失——容器以干净的状态(镜像最初的状态&#…...
服务器网络
配置 通常使用ping查看网络 如果能ping通,不能ssh登陆,安装 sudo apt update sudo apt install openssh-server如果已经安装,查看防火墙状态,inactive(不活跃) sudo ufw status sudo ufw allow ssh sudo ufw reload查看ssh状态 s…...

YOLOv8-seg 分割代码详解(一)Predict
前言 本文从 U-Net 入手熟悉分割的简单方法,再看 YOLOv8 的方法。主要梳理 YOLOv8 的网络结构,以及 Predict 过程的后处理方法。 U-Net 代码地址:https://github.com/milesial/Pytorch-UNet YOLOv8 代码地址:https://github.com/…...

Docker学习——④
文章目录 1、Docker Image(镜像)2、镜像命令详解2.1 docker rmi2.2 docker save2.3 docker load2.4 docker image inspect2.5 docker history2.6 docker image prune 3、镜像综合实战3.1 离线镜像迁移3.2 镜像存储的压缩与共享 1、Docker Imageÿ…...

Android选项卡TabHost
选项卡主要由TabHost(标签,主人),TabWidget(微件)和FrameLayout3个组件组成,用于实现一个多标签页的用户界面。 1. TabHost在XML文件中添加: XML布局文件中添加选项卡时必须使用系统id来为各组件指定id属性。 <TabHostandro…...

JavaSec-RCE
简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,…...

label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制
在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...

无人机侦测与反制技术的进展与应用
国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机(无人驾驶飞行器,UAV)技术的快速发展,其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统,无人机的“黑飞”&…...

Golang——6、指针和结构体
指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...

uniapp 开发ios, xcode 提交app store connect 和 testflight内测
uniapp 中配置 配置manifest 文档:manifest.json 应用配置 | uni-app官网 hbuilderx中本地打包 下载IOS最新SDK 开发环境 | uni小程序SDK hbulderx 版本号:4.66 对应的sdk版本 4.66 两者必须一致 本地打包的资源导入到SDK 导入资源 | uni小程序SDK …...