SCSS基本使用

雨点打透心脏的1/2处 2021-09-02 06:45 666阅读 0赞

Sass官网:https://www.sass.hk/docs/

菜鸟教程Sass:https://www.runoob.com/sass/sass-tutorial.html

Sass就是css的预处理器,Scss是Sass3版本中引入的新语法特性

vue中使用scss,安装:

  1. cnpm i -S node-sass sass-loader

使用:

  1. <style lang="scss" scoped>
  2. </style>

一、变量 $

使用$符号去声明一个变量

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzIzMjU2_size_16_color_FFFFFF_t_7020201017211410787.png

给同一个变量再次赋值时,后赋值的会替换先赋值的

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzIzMjU2_size_16_color_FFFFFF_t_70 120201017221651668.png

可以在变量的结尾添加 !default 给一个未通过 !default 声明赋值的变量赋值,此时,如果变量已经被赋值,不会再被重新赋值,但是如果变量还没有被赋值,则会被赋予新的值。

通俗点说,!default就像一个备胎。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzIzMjU2_size_16_color_FFFFFF_t_70 220201017222048656.png

如果变量需要镶嵌在字符串之中,就必须需要写在#{}之中。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzIzMjU2_size_16_color_FFFFFF_t_70 320201017213719559.png

二、嵌套

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzIzMjU2_size_16_color_FFFFFF_t_70 420201017211853113.png

在嵌套的代码块内,可以使用&引用父元素。比如a:hover伪类,可以写成:

  1. a {
  2.   &:hover { color:red; }
  3.  }

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzIzMjU2_size_16_color_FFFFFF_t_70 52020101721201823.png

三、继承 @extend

SASS允许一个选择器,继承另一个选择器。使用@extend

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzIzMjU2_size_16_color_FFFFFF_t_70 620201017214336390.png

四、混入 @mixin 、@include

Mixin是可以重用的代码块。使用@mixin命令,定义一个代码块,使用@include命令,调用这个mixin。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzIzMjU2_size_16_color_FFFFFF_t_70 720201017215106608.png

还可以指定参数

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzIzMjU2_size_16_color_FFFFFF_t_70 820201017215401962.png

还可以给参数指定默认值,如果在使用时没有提供参数,则参数会使用默认值;

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzIzMjU2_size_16_color_FFFFFF_t_70 92020101721564445.png

如果提供了参数,则会使用提供的参数覆盖默认参数的值

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzIzMjU2_size_16_color_FFFFFF_t_70 1020201017215725761.png

还可以指定多个参数

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzIzMjU2_size_16_color_FFFFFF_t_70 1120201017220007396.png

参数会按定义的顺序依次赋值

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzIzMjU2_size_16_color_FFFFFF_t_70 122020101722014341.png

用以下的方式还可以让顺序按照自己想法来

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzIzMjU2_size_16_color_FFFFFF_t_70 1320201017220358644.png

五、引入外部文件

@import

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzIzMjU2_size_16_color_FFFFFF_t_70 14

20201017220847486.png

Partials

如果需要导入 SCSS 文件,但又不希望将其编译为 CSS,只需要在文件名前添加下划线,这样会告诉 Sass 不要编译这些文件,但导入语句中却不需要添加下划线。

例如,将文件命名为 _color.scss,便不会编译成 _color.css 文件。

@import “color.scss” 导入的其实是 _colors.scss 文件

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzIzMjU2_size_16_color_FFFFFF_t_70 15

(注意,不可以同时存在添加下划线与未添加下划线的同名文件,否则添加下划线的文件将会被忽略。)

20201017234355714.png

六、!default,!global

!default上面已经介绍到了,可以把它理解成为一个备胎。

!global就是可以将变量提升为全局变量。不到万不得已,不要用它,因为它很简单粗暴,直接破坏了作用域规则,影响全局

七、语句

7.1 条件语句 @if,@else if,@else

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzIzMjU2_size_16_color_FFFFFF_t_70 1620201017225111394.png

7.2 循环语句 @for ,@while(平时用的比较少,暂时先了解)

@for ,@while,@each

  1. @for $i from <start> through <end>
  2. @for $i from <start> to <end>
  • $i 表示变量
  • start 表示起始值
  • end 表示结束值

这两个的区别是关键字 through 表示包括 end 这个数,而 to 则不包括 end 这个数。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzIzMjU2_size_16_color_FFFFFF_t_70 17

具体的参考:https://blog.csdn.net/deng_gene/article/details/52399755,http://www.ruanyifeng.com/blog/2012/06/sass.html

八、自定义函数  @function

20201017223808197.png20201017223817115.png

九、颜色函数

color: lighten(green, 10%);表示绿色变浅10%

color: darken(green, 10%); 表示绿色加深10%

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzIzMjU2_size_16_color_FFFFFF_t_70 18

发表评论

表情:
评论列表 (有 0 条评论,666人围观)

还没有评论,来说两句吧...

相关阅读

    相关 vue 使用scss

    一、概述 CSS 预处理器 SCSS是一种CSS预处理语言,定义了一种新的专门的编程语言,编译后形成正常的css文件,为css增加一些编程特性,无需考虑浏览器的兼容