Scss 基本使用(变量、嵌套)

article/2025/11/5 10:40:08

1. Scss 简介

Sass (Syntactically Awesome Stylesheets) 是一种动态样式语言,Sass 语法属于缩排语法,比 css 比多出好些功能 (如:变量、嵌套、运算,混入(Mixin)、继承、颜色处理,函数等),更容易阅读。

Sass 的缩排语法,对于写惯 css 前端的 web 开发者来说很不直观,也不能将 css 代码加入到 Sass 里面。
因此对 Sass 语法进行了改良,Sass3 就变成了 Scss(Sassy CSS)。SCSS(Sassy CSS) 是 CSS 语法的扩展。
这意味着每一个有效的 CSS 也是一个有效的 SCSS 语句,与原来的语法兼容,只是用 {} 取代了原来的缩进。

传送门:Sass中文网
传送门:Sass 教程 | 菜鸟教程
传送门:Scss 基本使用 ( @extend、 @mixin、@import、@if、@for、@while、@each )

2. 变量

Sass 变量使用 $ 符号;
Sass 变量可以存储以下信息:字符串、数字、颜色值、布尔值、列表、null 值;

<style lang="scss">
$sysColor: red;
$sysFontSize: 20px;
$side : left;.wrap{color: $sysColor;font-size: $sysFontSize;// 如果变量需要镶嵌在字符串之中,就必须需要写在 #{} 之中border-#{$side}: 1px solid pink;
}
</style>

默认变量 !default

Scss 的默认变量仅需在值后面加上 !default 即可。

<style lang="scss">
$color:red !default;
.contanier1{color: $color;
}
</style>

编译出来的 CSS

.contanier1{color: red;
}

如果分配给变量的值后面加了 !default ,意味着该变量如果已赋值,那么它不会被重新赋值。
但是,如果它尚未赋值,那么它会被赋予新的给定值。

<style lang="scss">
$color: green;
$color:red !default;
.contanier1{color: $color;
}
</style>

编译出来的 CSS

.contanier1{color: green;
}

在这里插入图片描述
上述例子因为变量color已经被赋值为 green,所以再给它赋默认值时不会影响它原来的值,color 的值仍然是 green。

作用域

变量的作用域只能在当前的层级上有效果。
如下所示 contanier2 的样式为它内部定义的 green,contanier1 标签则是为 red。

<style lang="scss">
$sysColor: red;.contanier1{color: $sysColor;
}
.contanier2{$sysColor: green;  // 只在 contanier2 里头有用,局部作用域color: $sysColor;
}
</style>

在这里插入图片描述

!global

Scss 中我们可以使用 !global 关键词来设置变量是全局的。
注意: 所有的全局变量我们一般定义在同一个文件,如:_globals.scss,然后我们使用 @include 来包含该文件。

<style lang="scss">
$sysColor: red;.contanier2{$sysColor: green !global;color: $sysColor;
}
.contanier1{color: $sysColor;
}
</style>

在这里插入图片描述

计算功能

支持数字的加减乘除、取整等运算 (+, -, *, /, %),如果必要会在不同单位间转换值。

<style lang="scss">
$sysWidth: 100px;.contanier1{margin: (14px / 2);width: $sysWidth * 2;height: 100px + 50px;
}
</style>

除法运算( / )
/ 在 CSS 中通常起到分隔数字的用途,SassScript 作为 CSS 语言的拓展当然也支持这个功能,同时也赋予了 / 除法运算的功能。也就是说,如果 / 在 SassScript 中把两个数字分隔,编译后的 CSS 文件中也是同样的作用。

以下情况, / 将被视为除法运算符号:

  • 如果值 或 值的一部分,是变量或者函数的返回值;
  • 如果值被圆括号包裹;
  • 如果值是算数表达式的一部分;
p {font: 10px/8px;             // Plain CSS, no division$width: 1000px;width: $width/2;            // Uses a variable, does divisionheight: (500px/2);          // Uses parentheses, does divisionmargin-left: 5px + 8px/2px; // Uses +, does division
}

编译为

p {font: 10px/8px;width: 500px;height: 250px;margin-left: 9px; 
}

如果需要使用变量,同时又要确保 / 不做除法运算而是完整地编译到 CSS 文件中,只需要用 #{} 插值语句将变量包裹。

p {$font-size: 12px;$line-height: 30px;font: #{$font-size}/#{$line-height};
}

编译为

p {font: 12px/30px; 
}

3. 嵌套

Scss 允许将一套 CSS 样式嵌套进另一套样式中,内层的样式将它外层的选择器作为父选择器。

<style lang="scss">
$sysWidth: 100px;.wrap{.contanier1{width: $sysWidth * 2;height: 100px + 50px;}
}
</style>

很多 CSS 属性都有同样的前缀,如:font-family, font-size 和 font-weight ,text-align, text-transform 和 text-overflow。
在 Scss 中,可以使用嵌套属性来编写它们:
注意: font、 border 后面必须加上冒号。

.contanier1{font: {size: 25px;weight: bold;}border: {width: 1px;style: solid;color: red;};   
}

在这里插入图片描述

在嵌套的代码块内,可以使用 & 引用父元素。

.contanier1{font: {size: 25px;weight: bold;}&:hover{color: green;}  
}

4. 注释

Scss 共有两种注释风格。

标准的 CSS 注释 /* comment */ ,会保留到编译后的文件。
单行注释 // comment,只保留在 scss 源文件中,编译后被省略。
在 /* 后面加一个感叹号,表示这是"重要注释"。即使是压缩模式编译,也会保留这行注释,通常可以用于声明版权信息。/*!重要注释!
*/

http://chatgpt.dhexx.cn/article/2Jbhqw0A.shtml

相关文章

sass与scss的区别

用了很久css预编译器&#xff0c;但是一直不太清楚到底用的sass还是scss&#xff0c;直到有天被问住了有点尴尬&#xff0c;找了个教程撸了遍。。。 异同&#xff1a;简言之可以理解scss是sass的一个升级版本&#xff0c;完全兼容sass之前的功能&#xff0c;又有了些新增能力。…

SCSS的基本用法-入门篇

文章目录 前言一、什么是Sass二、SASS 和 SCSS 的区别三、Scss的基本语法1、声明变量 $2、默认变量 !default3、变量调用4、局部变量和全局变量5、嵌套5.1、选择器嵌套5.2、属性嵌套5.3、伪类嵌套 6、混合宏6.1、声明6.1.1、不带参数混合宏6.1.2、带参数混合宏 6.2、调用6.3、混…

Sass 和 SCSS

▣Sass (Syntactically Awesome StyleSheets)&#xff0c;是由buby语言编写的一款css预处理语言&#xff0c;和html一样有严格的缩进风格&#xff0c;和css编写规范有着很大的出入&#xff0c;是不使用花括号和分号的&#xff0c;所以不被广为接受。 Sass 是一款强化 CSS 的辅助…

scss的基本使用

文章目录 SCSS-了解和基本使用sass、scss、less、css的区别 SCSS-基本语法1. 嵌套语法2. 变量3. 父选择器 &4. 混合 mixins5. 模块 SCSS-了解和基本使用 总结一些scss基本使用 具体详情请看官网 sass、scss、less、css的区别 less, sass, scss都是css预处理语言&#xf…

scss理解及用法

1.scss是什么 scss是css的一种预处理语言 scss是一门很好用的类css&#xff0c;在现实中的工作当中几乎都是不采用css的&#xff0c;而是使用类css语言。 例如&#xff1a;scss、less、stylus等&#xff0c;所以学习一门css语言是必须得&#xff0c;由于我用的比较多的就是scss…

程序员那些你不知道的事:高收入程序员年薪高于50万,近四成程序员单身

本文转自&#xff1a;人民网 原文地址&#xff1a;《互联网从业者生活品质报告》发布&#xff1a;近四成程序员单身--IT--人民网 人民网北京10月24日&#xff08;记者毕磊&#xff09;10月23日&#xff0c;《互联网从业者生活品质报告》。据悉&#xff0c;该报告是基于挖财记…

程序员年薪30万,被准丈母娘各种刁难,网友说:分手吧!

这是一个很现实的社会&#xff0c;你没钱没车没房&#xff0c;很可能连老婆都讨不到&#xff0c;即使你收入不错潜力很大&#xff0c;但如果手头拿不出车房&#xff0c;丈母娘很可能一句话就把你怼得无话可说&#xff1a;没车没房我女儿跟你喝西北风&#xff1f; 这也是一名女…

python大神年薪_我程序员年薪 80 万被亲戚鄙视不如在二本教书的博士生?

但是毕业后&#xff0c;在父母辈的眼里似乎只有公务员、律师、教师这三大铁饭碗是他们心中的最佳职业&#xff0c;我第一次跟我妈说我从事的是IT行业程序员&#xff0c;她回答道&#xff1a;那是修电脑的吗&#xff1f;然后程序员行业被外界吐槽似乎司空见惯了&#xff0c;今日…

八年跳槽五次,程序员年薪4万变92万,引热议

本文转载自 程序员编程社区 很多时候&#xff0c;虽然跳槽可能带来降薪的结果&#xff0c;但依然有很多人认为跳槽可以涨薪。近日&#xff0c;看到一则帖子&#xff0c;发帖的楼主表示&#xff0c;自己8年5跳&#xff0c;年薪4万到92万&#xff0c;现在环沪上海各一套房&#…

2020年程序员年薪、婚恋、跳槽等报告出炉,说的是你吗?

黑马程序员 微信号&#xff1a;heiniu526 传智播客旗下互联网资讯&#xff0c;学习资源免费分享平台 程序员一直都是一个备受人们关注的群体&#xff0c;随着互联网的飞速发展&#xff0c;市场对程序员的需求尤为庞大。但是2020年&#xff0c;因为疫情影响&#xff0c;许多企业…

滴滴程序员年薪80万却被亲戚鄙视:钱多有啥用,我儿子二本大学教师

作者&#xff1a;胡多钱 From&#xff1a;程序员小乐 正文 说到教师和程序员这两个职业来说&#xff0c;很多人都会偏向于教师&#xff0c;毕竟从长远角度看&#xff0c;不管是地位还是工作稳定性来说&#xff0c;教师更加有优势&#xff0c;如果让你从程序员年薪80万和教师15…

程序员年薪45万,国企年薪20万,该不该跳槽去国企?

现如今很多在互联网的程序员&#xff0c;其实都是比较向往去国企的&#xff0c;尤其是那种年龄超过35岁的程序员&#xff0c;他们追求的可能不是高收入&#xff0c;而且稳定的工作以及能有时间陪家人。毕竟这些程序员打拼多年&#xff0c;多少都有一点身价了。 近日&#xff0c…

年薪100万和10万程序员的差距

点击蓝字关注&#xff0c;回复“职场进阶”获取职场进阶精品资料一份 我们看武侠大片&#xff0c;经常有那种本来可以练就绝世武功的大虾。 阴差阳错练的走火入魔。 一开始还可以硬撑&#xff0c;还能打败一些虾兵蟹将。 遇见真正的高手&#xff0c;这些大虾们立马就败下阵来。…

Github上Python超越Java,应届人工智能程序员年薪30w+

GitHub 2017年年度报告发布&#xff1a;有70万来自中国的新用户加入&#xff0c;占据Github新人总数70%。Python超越Java成为第二最受欢迎的语言&#xff0c;TensorFlow依然是最受欢迎的深度学习库。 人世间&#xff0c;流浪人归&#xff0c;亦若回流川 《深夜食堂2》 Python…

腾讯计算机编程本科年薪,腾讯程序员年薪80万,却感慨:天花板太低,想放弃工作去读研!...

有句话说得好&#xff0c;人往高处走&#xff0c;水往低处流。很多进入职场工作的年轻人&#xff0c;都希望自己能够发挥个人的能力&#xff0c;得到上级领导的肯定也好&#xff0c;或者得到了同事的支持也好。无非就是希望自己能够晋升或者加薪。毕竟在工作的时候谁不是为了能…

甲骨文华育兴业|【大数据调查】80%的程序员年薪都在10万以上,三分之一的人年薪20万以上

看了上面文章的小伙伴 如果感到不舒适 那么请看看这篇文章 非常适合你找准方向 你们印象中程序员是什么样&#xff1f;他们的实际生活状态怎样&#xff1f;针对中国程序员薪资生存现状做了一项调查&#xff0c;大数据让你更懂程序员。&#xff08;以下数据都来自程序员客栈&…

为什么哪些90后程序员年薪50万+,他们经历了啥?

如果说薪资是检验一家公司对你认可的标准&#xff0c;那么年纪轻轻就能达到年薪 50 万&#xff0c;一定程度上说明了公司对他创造的价值的认可。 小编深访了10 名这样的程序员&#xff0c;把他们最常见的三种成长途径梳理了出来 在一家公司的初期加入&#xff0c;并伴随着自己的…

程序员年薪30万到100万,汇报有啥差别?

见字如面&#xff0c;我是军哥&#xff01; 程序员在职场里&#xff0c;技术能力是下限&#xff0c;汇报能力才能到上限&#xff0c;毫不客气地说这个能力非常重要。 很多人在职场一会无法晋升原地打转&#xff0c;就是因为没有领会到这个能力的精髓。 今天来分享来分享年薪30万…

阿里应届程序员年薪25W,我酸了,你们呢

工资,一直是上班人士最关心的话题。 在我们的印象中,程序员的工资一向不低。 然而,当我看到阿里一个应届生晒的工资,年终25w+,我酸了,而且这个数字应该也远超很多工作两三年的程序员了,估计引起了大部分人会有和我一样的感觉 我酸了,阿里应届程序员的年薪,25w的高薪…