sass的使用方法

简介: sass的使用方法

sass的优缺点


优点:css预处理器为css增加一些编程的特性,无需考虑浏览器的兼容性问题。支持嵌套、变量和逻辑等。可以让css更加简介、提高代码复用性、逻辑分明等等。

缺点:css的文件体积和复杂度不可控;增加了调试难度和成本


常用的知识点


1、注释

/*
多行
*/
//单行
/*! 不会被压缩*/


2、变量 (会有作用域的限制)

$color: red;  //在值的后边加global会变为全局属性


3、模板字符串

#{变量}


4、@import 引入文件

支持同时导入多个文件,使用逗号隔开即可

以下情况会导致文件仅作为普通css语句,不会导入任何Sass文件


文件拓展名是.css

文件名以http://开头

文件名是url()

@import包含media queries


5、继承 @extend

.a{
width:100px;
height:100px;
}
.b{
@extend .a;
}


6、@if的使用

p{
  @if 1+1==2{
  color:red;
  }
}
p{
  @if 1+1==2{
  color:red;
  }@else{
  color:blue
  }
}


7、 循环语句 @for

语法 @for $var from <start> through <end> 或 @for $var from <start> to <end>

through和to的相同点与不同点?

相同点:都包含<start>值

不同点:through包含<end>值,但to不包含<end>的值

@for $I from 1 through 3{
  .item-#{$I}{ width: 2em * $i; }
}
//等价于
.item-1{
  width:2em;
}
.item-2{
  width:4em;
}
.item-3{
  width:6em;
}


8、循环语句 @while

语法: @while experssin

指令重复输出格式直到表达式返回结果为false。这样可以实现比@for更复杂的循环,只是很少会用到

$1: 6;
@while $1>0{
  .item-#{$i} {  width : 2rem * $1; }
  $1: $1-2; //给i重新赋值
}
//等价于
.item-6{
  width: 12em;
}
.item-4{
  width: 8em;
}
.item-2{
  width: 4em;
}
相关文章
|
3月前
|
前端开发 开发者 Ruby
Sass、LESS区别是什么?大家为什么要使用他们?
Sass(Syntactically Awesome Style Sheets)和LESS(Leaner CSS)是两种流行的CSS预处理器,它们在原生CSS的基础上提供了一些额外的功能和语法。
90 1
|
8月前
|
前端开发
sass语法个人总结
sass语法个人总结
31 0
|
8月前
|
自然语言处理 前端开发 JavaScript
Babel 的工作原理以及怎么写一个 Babel 插件
Babel 的工作原理以及怎么写一个 Babel 插件
130 0
|
4月前
|
前端开发
Sass 语法详细介绍
Sass 语法详细介绍
35 1
|
8月前
|
资源调度 前端开发 JavaScript
CSS预处理器Sass和Less的使用指南(上)
CSS预处理器Sass和Less的使用指南(上)
103 0
|
8月前
|
前端开发
CSS预处理器Sass和Less的使用指南(下)
CSS预处理器Sass和Less的使用指南(下)
|
8月前
|
JavaScript 前端开发
Vue使用PostCSS怎样使用sass
众所周知转换 px 单位的插件有很多,知名的有 postcss-px-to-viewport 和 postcss-pxtorem,前者是将 px 转成 vw,后者是将 px 转成 rem,精简了不常用的配置。将成为vw优先单位使用,以rem作为回退模式。考虑到vw在移动设备的支持度不如rem,这款插件很好的解决了该问题。然后简单的介绍下。
78 0
|
JavaScript 前端开发 IDE
TypeScript的使用方法
TypeScript的使用方法
111 0
TypeScript的使用方法
|
Dart 前端开发 JavaScript
VSCode中使用Scss/Sass及其基本语法
VSCode中使用Scss/Sass及其基本语法
464 0
|
Web App开发 前端开发 JavaScript
less和sass的区别,你了解多少?
less和sass的区别,你了解多少?
2665 0