SCSS基本使用

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

vue中使用scss,安装:

cnpm i -S node-sass sass-loader

使用:

<style lang='scss' scoped></style>

一、变量 $

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

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

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

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

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

二、嵌套

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

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

三、继承 @extend

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

四、混入 @mixin 、@include

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

还可以指定参数

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

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

还可以指定多个参数

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

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

五、引入外部文件

@import

Partials

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

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

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

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

六、!default,!global

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

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

七、语句

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

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

@for ,@while,@each

@for $i from <start> through <end>@for $i from <start> to <end>
  • $i 表示变量

  • start 表示起始值

  • end 表示结束值

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

八、自定义函数  @function

九、颜色函数

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

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

(0)

相关推荐

  • 基于综合服务平台浅谈Sass应用

    一.       前言 CSS不是一种编程语言,只是单纯的一行行的描述,没有逻辑没有变量,因此写CSS对于习惯于运用逻辑思维编码的程序员来说是一件很头疼的事.于是勤奋的程序员就开始运转他们敏捷的大脑, ...

  • 使用 SASS Mixin 编写 clean code

    原文:LEVERAGING SASS MIXINS FOR CLEANER CODE 毫无疑问,Sass 最强大和最有价值的特性之一是能够将现有代码打包成称为 mixins 的可重用代码块. Mixi ...

  • SASS学习

    一.什么是SASS Sass是是一种基于ruby编写的CSS预处理器,诞生于2007年,是最早也是最成熟的一款CSS预处理器语言,它可以使用变量.嵌套.混入.继承,运算,函数等功能,使得CSS的开发, ...

  • SCSS 文件里的感叹号用法 - 给变量设置默认值

    如下图所示: $useTabsOnPDP: false !default; https://stackoverflow.com/questions/10643107/what-does-default ...

  • vue 开发常用工具及配置六:认识各种 loader

    本文大约 2400 字. 目录 Webpack 的工作原理 loader 和 plugin 的区别 webpack 如何处理 css 文件 三种样式 sass/scss 和 less 的区别 另一种定 ...

  • SASS 和 SCSS 的区别

    原文 Difference Between SASS and SCSS SASS(Syntactically Awesome Style Sheets)是一种由 Hampton Catlin 设计.C ...

  • CSS与SCSS的选择器总结

    选择器可以选择类(或ID).标签.类(或ID)与标签组合表示方式为:类标签IDHTMLclass="cla"<lab>id="num"CSS.cla ...