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