安装:
1.安装ruby
2.安装Koala,用于sass编译
3.gem install sass(mac电脑安装如果安装报错,一般是权限问题,没有权限安装到ruby下面,因此可以尝试sudo gem install sass)
4.在项目中新建文件夹sass,然后在sass内新建1.scss
5.在scss内编辑
$testcolor: #000;
.test {
color: $testcolor;}6.编译
执行 sass 1.scss 1.css
就会生成1.css的文件
在线编辑:
http://www.sassmeister.com/
使用:
@charset "utf-8";//必须设置了这个才能编译有中文的注释
// 变量$blue : #1875e7; div { color : $blue; }// 如果变量需要镶嵌在字符串之中,就必须需要写在#{}之中。$side : left; .rounded { border-#{$side}-radius: 5px; }// 计算功能
body { margin: (14px/2); top: 50px + 100px; right: $var * 10%; }// 继承
// SASS允许一个选择器,继承另一个选择器。比如,现有class1:.class1 { border: 1px solid #ddd; }// class2要继承class1,就要使用@extend命令:.class2 { @extend .class1; font-size:120%; }// Mixin// Mixin有点像C语言的宏(macro),是可以重用的代码块。// 使用@mixin命令,定义一个代码块。@mixin left { float: left; margin-left: 10px; }// 使用@include命令,调用这个mixin。 div { @include left; }// mixin的强大之处,在于可以指定参数和缺省值。 @mixin left($value: 10px) { float: left; margin-right: $value; }// 使用的时候,根据需要加入参数: div { @include left(20px); }// 下面是一个mixin的实例,用来生成浏览器前缀。 @mixin rounded($vert, $horz, $radius: 10px) { border-#{$vert}-#{$horz}-radius: $radius; -moz-border-radius-#{$vert}#{$horz}: $radius; -webkit-border-#{$vert}-#{$horz}-radius: $radius; }// 使用的时候,可以像下面这样调用: #navbar li { @include rounded(top, left); } #footer { @include rounded(top, left, 5px); }// 颜色函数
// SASS提供了一些内置的颜色函数,以便生成系列颜色。 lighten(#cc3, 10%) // #d6d65c darken(#cc3, 10%) // #a3a329 grayscale(#cc3) // #808080 complement(#cc3) // #33c// 插入文件// @import命令,用来插入外部文件。 @import "path/filename.scss";// 如果插入的是.css文件,则等同于css的import命令。 @import "foo.css";// 高级用法// 条件语句// @if可以用来判断: p { @if 1 + 1 == 2 { border: 1px solid; } @if 5 < 3 { border: 2px dotted; } }// 配套的还有@else命令: @if lightness($color) > 30% { } @else { background-color: #fff; }// 循环语句// SASS支持for循环: @for $i from 1 to 10 { .border-#{$i} { border: #{$i}px solid blue; } }// 也支持while循环: $i: 6; @while $i > 0 { .item-#{$i} { width: 2em * $i; } $i: $i - 2; }// each命令,作用与for类似: @each $member in a, b, c, d { .#{$member} { background-image: url("/image/#{$member}.jpg"); } }// 自定义函数// SASS允许用户编写自己的函数。 @function double($n) { @return $n * 2; } #sidebar { width: double(5px); }