scss的基本使用

312 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第1天,点击查看活动详情

概念

scss是一种css样式的预处理语言(补充其中less和sass它们也是css预处理语言)(因浏览器不能直接使用,需要换成css)

scss的很多语法与less类似(如:变量,嵌套,模块化)

使用

在VScord里安装easy sass的插件,可以自动的把.scss变为.css

scss预处理器的基础语法

分为5部分

第一个是嵌套语法

第二个是**&父选择器**

第三个是变量

第四个是mixin

第五个是模块

详细介绍在以下

1.嵌套语法

scss语法 跟less类似 通俗来说就是 一个套一个

@color 这里的color只是个名字,可以随机起名,叫啥名都可以

$color: #f90;
$border: 1px solid black;

#app{
  background-color:  $color;
  border:$border;
  .container{
    font-size:30px;
  }
}

转化为css后

#app {
  background-color: #f90;
  border: 1px solid black;
}

#app .container {
  font-size: 30px;
}

2.&父选择器 &指向的是父选择器

$color: #f90;
$border: 1px solid black;

#app{
  background-color:  $color;
  border:$border;
  .container{
    font-size:30px;
  }
  a{
    color:blue;
    &:hover{
      color: red;
    }
  }
}

转成css

#app {
  background-color: #f90;
  border: 1px solid black;
}

#app .container {
  font-size: 30px;
}
#app a{
    color : blue
}
#app a:hover {
    color :red
}

3.变量

①.定义变量

$color: #f90;
$border: 1px solid black;

上面声明了名为$color$border的变量

②.使用变量

这里就可以直接使用

#app {
    background-color: $color;
  	border: $border;

4.mixins

mixins混入,是代码复用的方式 mixins是一个对象

①定义格式

@mixin 名称 {代码}

②使用格式

include 名称

示例

定义mixin

@mixin content {
  width: 1200px;
  background-color: green;
}

@mixin clearfix {
  &:after {
    content: "";
    display: table;
    clear: both;
  }
}

使用mixins

.div {
  width: 200px;
  @include clearfix;
  @include content;
}

5.模块

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

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

定义变量 定义mixin 通过 @import './user.scss' 引入 使用变量,使用mixin的文件中

示例

新建base.scss文件,并定义变量

$color :red ;

在index.scss中引入 base.scss

***@import './base.scss';***
$color: #f90;
$border: 1px solid black;
#app{
  background-color:  $color;
  border:$border;
}