SCSS的基本使用

简介: SCSS的基本使用

1.是什么


官方文档:https://www.sass.hk/

简言之可以理解scss是sass的一个升级版本,完全兼容sass之前的功能,又有了些新增能力。

image.png

2.理解sass、scss、less、css的区别


less, sass, scss都是css预处理语言(也是对应的文件后缀名),它们的语法功能比css更强大。

 预处理语言使用的方式是:开发时用预处理语言,在打包上线时,用webpack再配合loader工具给转成css(Cascading Style Sheets)给浏览器使用。

后缀名:SASS(Syntactically Awesome StyleSheets)版本3.0之前的后缀名为.sass,而版本3.0之后的后缀名.scss

语法规范方面的区别:

sass没有{};, 有严格的缩进规范

scss和css的缩进规范是一致的

注意:如使用vscode 可以安装一个名为easy sass 的插件,它会自动的帮助我们把.scss 转化 .css

3.SCSS-基本语法


变量

作用是:比如说页面中使用这个颜色的地方有100个,到时候只需改这个变量,100个地方的颜色也会随之改变

SCSS使用$符号来标识变量

变量的定义

1. $highlight-color: #f90;
2. $basic-border: 1px solid black;

变量的使用

1. #app {
2.     background-color: $highlight-color;
3.  border: $basic-border;
4. }

4.支持嵌套语法


和less一样,scss同样支持嵌套型的语法

// scss语法
$highlight-color: #f90;
$basic-border: 1px solid black;
#app{
  background-color:  $highlight-color;
  border:$basic-border;
  .container{
    font-size:30px;
  }
}

等同于转化为css后的

等同于CSS语法
#app {
  background-color: #f90;
  border: 1px solid black;
}
#app .container {
  font-size: 30px;
}

5. &父选择器


假如你想针对某个特定子元素 进行设置(注意看&符号的位置)

$highlight-color: #f90;
$basic-border: 1px solid black;
#app{
  background-color:  $highlight-color;
  border:$basic-border;
  .container{
    font-size:30px;
  }
  a{
    color:blue;
    &:hover{
      color: red;
    }
  }
}

6.模块


一个.scss文件就是一个模块,多个.scss文件之间可以相互引用。

例如:在一个.scss文件(base.scss)定义多个变量,然后在另一个.scss(test.scss)中引入这个文件,就可以使用其中定义的变量了

引入格式:  

@import './xxxx.scss';

举个实际的例子:

步骤1: 新建base.scss文件,并定义变量

$base-color: green;

步骤2: 在test.scss文件中中引入base.scss(注意看@import)

@import './base.scss';
$highlight-color: #f90;
$basic-border: 1px solid black;
#app{
  background-color:  $base-color;
  border:$basic-border;
  .container{
    font-size:30px;
  }
  a{
    color:blue;
    &:hover{
      color: red;
    }
  }
}

总结:

scss与less类似,只是一种css样式的预处理语言 (浏览器不能直接使用的,需要转成css)

很多用法都与less类似(变量,嵌套,模块化)不需要花太多精力去学习它。

相关文章
|
存储 算法 程序员
【数据结构】C语言实现顺序表万字详解(附完整运行代码)
【数据结构】C语言实现顺序表万字详解(附完整运行代码)
369 0
|
算法
51单片机不用定时器的数码管倒计时
51单片机不用定时器的数码管倒计时
219 0
|
存储 XML KVM
Libvirt的virsh工具常用命令
Libvirt的virsh工具常用命令
352 2
|
分布式计算 负载均衡 API
微服务架构设计原则与模式
【8月更文第29天】随着云计算和分布式计算的发展,微服务架构已成为构建大型复杂应用的一种流行方式。这种架构模式将单个应用程序分解成一组小型、独立的服务,每个服务运行在其自己的进程中,并通过轻量级机制(通常是HTTP资源API)进行通信。本文将探讨微服务架构的基本设计原则、常用模式以及如何有效地划分服务边界。
945 3
|
消息中间件 RocketMQ
MetaQ/RocketMQ 原理问题之当消费集群规模较大时,处理分配不到队列的Consumer的问题如何解决
MetaQ/RocketMQ 原理问题之当消费集群规模较大时,处理分配不到队列的Consumer的问题如何解决
219 4
|
Web App开发 测试技术 项目管理
【Docker项目实战】使用Docker部署Servas自托管书签管理工具
【6月更文挑战第5天】使用Docker部署Servas自托管书签管理工具
438 1
【Docker项目实战】使用Docker部署Servas自托管书签管理工具
|
机器学习/深度学习 数据采集 算法
Python实现DBSCAN膨胀聚类模型(DBSCAN算法)项目实战
Python实现DBSCAN膨胀聚类模型(DBSCAN算法)项目实战
|
机器学习/深度学习 算法 PyTorch
计算机视觉快速入门:探索图像处理
本文介绍了计算机视觉的基本概念和学习路径,包括图像处理、特征提取、目标检测、图像分类与分割以及深度学习在该领域的应用。初学者应从图像处理基础开始,学习数字图像概念、处理技术及开源库如OpenCV。接着,探索特征提取与描述方法,如SIFT和HOG,以及目标检测的算法,如Haar级联和YOLO。进一步,掌握图像分类和分割技术,涉及深度学习模型如CNN。通过实践项目深化理解,并关注最新研究,持续学习和探索,以在计算机视觉领域不断进步。
|
机器学习/深度学习 算法 决策智能
约束最优化方法 (二) Zoutendijk容许方向法
约束最优化方法 (二) Zoutendijk容许方向法
364 0
mybatis-plus 的 and和or的使用 (详情解释)
mybatis-plus 的 and和or的使用 (详情解释)

热门文章

最新文章