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类似(变量,嵌套,模块化)不需要花太多精力去学习它。

相关文章
|
1天前
|
传感器 算法 搜索推荐
stylus使用方法
stylus使用方法
9 0
|
1天前
|
前端开发 JavaScript 索引
CSS常见用法 以及JS基础语法
CSS常见用法 以及JS基础语法
13 0
|
10月前
|
JavaScript 前端开发 编译器
vue 代码高亮 prismjs 或 highlight.js插件的用法
vue 代码高亮 prismjs 或 highlight.js插件的用法
376 0
|
6月前
|
前端开发 Shell 开发工具
sass/scss 入门
sass/scss 入门
40 0
|
前端开发 API
学习Vue3 第三十三章(css Style完整新特性)
默认情况下,作用域样式不会影响到 <slot/> 渲染出来的内容,因为它们被认为是父组件所持有并传递进来的。
117 0
学习Vue3 第三十三章(css Style完整新特性)
|
8月前
|
JavaScript
3s学会jsx的基本使用
3s学会jsx的基本使用
|
9月前
|
JavaScript 前端开发
Vue使用PostCSS怎样使用sass
众所周知转换 px 单位的插件有很多,知名的有 postcss-px-to-viewport 和 postcss-pxtorem,前者是将 px 转成 vw,后者是将 px 转成 rem,精简了不常用的配置。将成为vw优先单位使用,以rem作为回退模式。考虑到vw在移动设备的支持度不如rem,这款插件很好的解决了该问题。然后简单的介绍下。
79 0
|
10月前
|
JavaScript 前端开发 开发者
JSX 的基本使用
JSX 的基本使用
63 0
|
10月前
|
JavaScript 前端开发
vue nuxt.js 代码高亮 highlight.js或 prismjs 插件的用法
vue nuxt.js 代码高亮 highlight.js或 prismjs 插件的用法
289 0
|
11月前
|
JavaScript
Vue —— 进阶脚手架(二)(混入 mixin、插件 plugins、样式 scoped)
Vue —— 进阶脚手架(二)(混入 mixin、插件 plugins、样式 scoped)