>

前端css框架SASS使用教程,SASS用法指南

- 编辑:至尊游戏网站 -

前端css框架SASS使用教程,SASS用法指南

SASS用法指南

2012/06/21 · CSS · CSS

来源:阮一峰

学过CSS的人都明白,它不是意气风发种编制程序语言。

你能够用它支付网页样式,可是没办法用它编制程序。相当于说,CSS基本上是设计员的工具,不是程序员的工具。在技术员眼里,CSS是生机勃勃件很辛劳的东西。它从不改变量,也未曾原则语句,只是黄金年代行行单纯的描述,写起来万分辛勤。

图片 1

很自然地,有人就从头为CSS加入编制程序成分,那被喻为”CSS预处理器“(css preprocessor)。它的中坚思索是,用风姿浪漫种极度的编制程序语言,进行网页样式设计,然后再编写翻译成平常的CSS文件。

各样”CSS预管理器”之中,小编本身最欢跃SASS,认为它有过多亮点,准备以往都用它来写CSS。上面是本人收拾的用法计算,供本人付出时参谋,相信对别的人也是有用。

图片 2

一、什么是SASS

SASS是豆蔻梢头种CSS的开辟工具,提供了无数惠及的写法,大大节约了设计者的光阴,使得CSS的支出,变得轻巧和可保养。

本文化总同盟结了SASS的首要用法。作者的指标是,有了那篇小说,日常的相通采纳就没有必要去看官方文书档案了。

二、安装和行使

2.1 安装

SASS是Ruby语言写的,可是相互的语法未有关联。不懂Ruby,照样使用。只是必需先安装Ruby,然后再安装SASS。

若果你早就安装好了Ruby,接着在命令行输入上边包车型大巴下令:

JavaScript

  gem install sass

1
  gem install sass

然后,就足以应用了。

2.2 使用

SASS文件就是家常便饭的文书文件,里面能够平昔运用CSS语法。文件后缀名是.scss,意思为Sassy CSS。

下边包车型大巴授命,能够在显示屏上呈现.scss文件转载的css代码。(假如文件名叫test。)

JavaScript

  sass test.scss

1
  sass test.scss

若果要将显示结果保存成文件,前边再跟贰个.css文件名。

JavaScript

  sass test.scss test.css

1
  sass test.scss test.css

SASS提供多少个编写翻译风格的选项:

* nested:嵌套缩进的css代码,它是暗许值。

* expanded:没有缩进的、扩张的css代码。

* compact:简洁格式的css代码。

* compressed:压缩后的css代码。

生产蒙受此中,平日接收最终八个选项。

JavaScript

sass --style compressed test.sass test.css

1
sass --style compressed test.sass test.css

SASS的官方网站,提供了贰个在线调换器。你能够在此边,试运作下边包车型客车各个例子。

三、基本用法

3.1 变量
SASS允许使用变量,全体变量以$开首。

JavaScript

$blue : #1875e7; div { color : $blue; }

1
2
3
4
$blue : #1875e7;
div {
color : $blue;
}

假使变量供给镶嵌在字符串之中,就非得要求写在#{}之中。

JavaScript

$side : left; .rounded { border-#{$side}-radius: 5px; }

1
2
3
4
$side : left;
.rounded {
border-#{$side}-radius: 5px;
}

3.2 计算作用

SASS允许在代码中使用算式:

JavaScript

body { margin: (14px/2); top: 50px + 100px; right: $var * 10%; }

1
2
3
4
5
body {
margin: (14px/2);
top: 50px + 100px;
right: $var * 10%;
}

3.3 嵌套

SASS允许采纳器嵌套。比方,上面包车型客车CSS代码:

CSS

div h1 { color : red; }

1
2
3
div h1 {
color : red;
}

能够写成:

CSS

div { hi { color:red; } }

1
2
3
4
5
div {
hi {
color:red;
}
}

质量也足以嵌套:

CSS

p { border-color: red; }

1
2
3
p {
border-color: red;
}

能够写成:

CSS

p { border: { color: red; } }

1
2
3
4
5
p {
border: {
color: red;
}
}

小心,border前面总得抬高冒号。

3.4 注释

SASS共有二种注释风格。

标准的CSS注释 /* comment */ ,会保留到编写翻译后的文书。

单行注释 // comment,只保留在SASS源文件中,编写翻译后被简单。

四、代码的录用

4.1 继承

SASS允许三个采用器,承袭另叁个选用器。比方,现存class1:

CSS

.class1 { border: 1px solid #ddd; }

1
2
3
.class1 {
border: 1px solid #ddd;
}

class2要承接class1,将在动用@extend命令:

CSS

.class2 { @extend .class1; font-size:120%; }

1
2
3
4
.class2 {
@extend .class1;
font-size:120%;
}

4.2 Mixin

Mixin有一点点像C语言的宏(macro),是足以选用的代码块。

应用@mixin命令,定义三个代码块。

CSS

@mixin left { float: left; margin-left: 10px; }

1
2
3
4
@mixin left {
float: left;
margin-left: 10px;
}

运用@include命令,调用这些mixin。

CSS

div { @include left; }

1
2
3
div {
@include left;
}

mixin的精锐的地方,在于能够钦命参数和缺省值。

CSS

@mixin left($value: 10px) { float: left; margin-right: $value; }

1
2
3
4
@mixin left($value: 10px) {
float: left;
margin-right: $value;
}

应用的时候,根据需求进入参数:

CSS

div { @include left(20px); }

1
2
3
div {
@include left(20px);
}

4.3 颜色函数
SASS提供了有的放松权利的水彩函数,以便生成种类颜色。

CSS

lighten(#cc3, 10%) // #d6d65c darken(#cc3, 10%) // #a3a329 grayscale(#cc3) // #808080 complement(#cc3) // #33c

1
2
3
4
lighten(#cc3, 10%) // #d6d65c
darken(#cc3, 10%) // #a3a329
grayscale(#cc3) // #808080
complement(#cc3) // #33c

4.4 插入文件

@import命令,用来插入外界文件。

CSS

@import("path/filename.scss");

1
@import("path/filename.scss");

如若插入的是.css文件,则雷同css的import命令。

CSS

@import "foo.css";

1
@import "foo.css";

五、高档用法

5.1 条件语句

@if能够用来判定:

JavaScript

p { @if 1 + 1 == 2 { border: 1px solid; } @if 5 < 3 { border: 2px dotted; }   } 配套的还会有@else命令:   @if lightness($color) > 四分之三{ background-color: #000; } @else { background-color: #fff; }

1
2
3
4
5
6
7
p {
@if 1 + 1 == 2 { border: 1px solid; }
@if 5 &lt; 3 { border: 2px dotted; }   } 配套的还有@else命令:   @if lightness($color) &gt; 30% {
background-color: #000;
} @else {
background-color: #fff;
}

5.2 循环语句

SASS支持for循环:

JavaScript

@for $i from 1 to 10 { .border-#{$i} { border: #{$i}px solid blue; } }

1
2
3
4
5
@for $i from 1 to 10 {
.border-#{$i} {
border: #{$i}px solid blue;
}
}

也支持while循环:

JavaScript

$i: 6; @while $i > 0 { .item-#{$i} { width: 2em * $i; } $i: $i - 2; }

1
2
3
4
5
$i: 6;
@while $i &gt; 0 {
.item-#{$i} { width: 2em * $i; }
$i: $i - 2;
}

each命令,作用与for类似:

JavaScript

@each $member in a, b, c, d { .#{$member} { background-image: url("/image/#{$member}.jpg"); } }

1
2
3
4
5
@each $member in a, b, c, d {
.#{$member} {
background-image: url(&quot;/image/#{$member}.jpg&quot;);
}
}

5.3 自定义函数

SASS允许客户编写本人的函数。

JavaScript

@function double($n) { @return $n * 2; } #sidebar { width: double(5px); }

1
2
3
4
5
6
@function double($n) {
@return $n * 2;
}
#sidebar {
width: double(5px);
}

(完)

赞 2 收藏 评论

图片 3

一、什么是SASS

 

SASS是意气风发种CSS的开垦工具,提供了数不胜数方便的写法,大大节约了设计者的大运,使得CSS的成本,变得轻巧和可保险。

本文化总同盟结了SASS的最主要用法。作者的对象是,有了那篇小说,平常的相同采纳就无需去看法定文书档案了。

 

二、安装和应用

 

2.1 安装

SASS是Ruby语言写的,不过双方的语法未有涉嫌。不懂Ruby,照样使用。只是必需先安装Ruby,然后再设置SASS。

借令你早就安装好了Ruby,接着在命令行输入上面包车型大巴命令:

  gem install sass

下一场,就足以行使了。

2.2 使用

SASS文件就是普通的文书文件,里面能够向来利用CSS语法。文件后缀名是.scss,意思为Sassy CSS。

上面包车型地铁授命,能够在显示器上展现.scss文件转发的css代码。(借使文件名字为test。)

  sass test.scss

要是要将显得结果保存成文件,后边再跟一个.css文件名。

  sass test.scss test.css

SASS提供多少个编写翻译风格的选项:

  * nested:嵌套缩进的css代码,它是暗中同意值。

  * expanded:未有缩进的、扩张的css代码。

  * compact:简洁格式的css代码。

  * compressed:压缩后的css代码。

生产景况在那之中,经常接纳最终贰个抉择。

  sass --style compressed test.sass test.css

您也能够让SASS监听某些文件或目录,少年老成旦源文书有变动,就自动生成编写翻译后的本子。

  // watch a file

  sass --watch input.scss:output.css

  // watch a directory

  sass --watch app/sass:public/stylesheets

SASS的官网,提供了三个在线转换器。你能够在那,试运作上边的各类例子。

 

三、基本用法

 

3.1 变量

SASS允许接收变量,全数变量以$开端。

  $blue : #1875e7; 

  div {
   color : $blue;
  }

万生龙活虎变量须求镶嵌在字符串之中,就非得必要写在#{}之中。

  $side : left;

  .rounded {
    border-#{$side}-radius: 5px;
  }

3.2 总括功能

SASS允许在代码中运用算式:

  body {
    margin: (14px/2);
    top: 50px + 100px;
    right: $var * 10%;
  }

3.3 嵌套

SASS允许选择器嵌套。比方,上边包车型大巴CSS代码:

  div h1 {
    color : red;
  }

可以写成:

  div {
    hi {
      color:red;
    }
  }

属性也足以嵌套,比如border-color属性,能够写成:

  p {
    border: {
      color: red;
    }
  }

瞩目,border前边总得抬高冒号。

在嵌套的代码块内,能够应用&援用父成分。比方a:hover伪类,能够写成:

  a {
    &:hover { color: #ffb3ff; }
  }

3.4 注释

SASS共有三种注释风格。

标准的CSS注释 /* comment */ ,会保留到编写翻译后的公文。

单行注释 // comment,只保留在SASS源文件中,编写翻译后被略去。

在/*背后加四个感叹号,表示那是"首要注释"。即使是减掉方式编写翻译,也会保留那行注释,平常能够用于评释版权新闻。

  /*! 
    首要注释!
  */

四、代码的重用

 

4.1 继承

SASS允许一个接收器,承接另多少个采用器。比方,现有class1:

  .class1 {
    border: 1px solid #ddd;
  }

class2要承接class1,将在动用@extend命令:

  .class2 {
    @extend .class1;
    font-size:120%;
  }

4.2 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) {
style="font-size: 16px;">    border-#{$vert}-#{$horz}-radius: $radius;
style="font-size: 16px;">    -moz-border-radius-#{$vert}#{$horz}: $radius;
style="font-size: 16px;">    -webkit-border-#{$vert}-#{$horz}-radius: $radius;
  }

行使的时候,能够像上面那样调用:

  #navbar li { @include rounded(top, left); }

  #footer { @include rounded(top, left, 5px); }

4.3 颜色函数

SASS提供了一些置于的颜料函数,以便生成类别颜色。

  lighten(#cc3, 10%) // #d6d65c
  darken(#cc3, 10%) // #a3a329
  grayscale(#cc3) // #808080
  complement(#cc3) // #33c

4.4 插入文件

@import命令,用来插入外界文件。

  @import "path/filename.scss";

假设插入的是.css文件,则等同css的import命令。

  @import "foo.css";

五、高端用法

 

5.1 条件语句

@if能够用来决断:

  p {
    @if 1 + 1 == 2 { border: 1px solid; }
    @if 5 < 3 { border: 2px dotted; }
  }

配套的还只怕有@else命令:

  @if lightness($color) > 30% {
    
  } @else {
    background-color: #fff;
  }

5.2 循环语句

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");
    }
  }

5.3 自定义函数

SASS允许客户编写自身的函数。

  @function double($n) {
    @return $n * 2;
  }

  #sidebar {
    width: double(5px);
  }

初藳地址:

本文由硬件数码发布,转载请注明来源:前端css框架SASS使用教程,SASS用法指南