/*常用*/
$family: unquote("Droid+Sans");
@import url("http://fonts.googleapis.com/css?family=#{$family}");
$family: unquote("Droid+Sans+2");
@import url("http://fonts.googleapis.com/css?family=#{$family}");
/*mixin 这里就好像一个组件,给个param让组件赋予样式*/
@mixin firefox-message($selector) {
body.firefox #{$selector}:before {
content: "Hi, Firefox users!";
}
}
@include firefox-message(".header");
/*在p 里设置变量*/
p {
$font-size: 12px;
$line-height: 30px;
font: #{$font-size}/#{$line-height};
}
/*表达式*/
p:before {
content: "I ate #{5 + 10} pies!";
}
/*這裏可以有包*/
.example {
color: red;
}
#main {
@import "example";
}
/*不用刻意把media寫在外面,media 會去外面*/
.sidebar {
width: 300px;
@media screen and (orientation: landscape) {
width: 500px;
}
}
/*extend 像是組合*/
.error {
border: 1px #f00;
background-color: #fdd;
}
.seriousError {
@extend .error;
border-width: 3px;
}
/*這不好理解*/
.hoverlink {
@extend a:hover;
}
.comment a.user:hover {
font-weight: bold;
}
/*@if, @else if */
$type: monster;
p {
@if $type == ocean {
color: blue;
} @else if $type == matador {
color: red;
} @else if $type == monster {
color: green;
} @else {
color: black;
}
}
/*@for*/
@for $i from 1 through 3 {
.item-#{$i} { width: 2em * $i; }
}
/*@each*/
@each $animal in puma, sea-slug, egret, salamander {
.#{$animal}-icon {
background-image: url('/images/#{$animal}.png');
}
}
/*@while*/
$i: 6;
@while $i > 0 {
.item-#{$i} { width: 2em * $i; }
$i: $i - 2;
}
/*@mixin pass param, defaut value is 1px*/
@mixin sexy-border($color, $width: 1px) {
border: {
color: $color;
width: $width;
style: dashed;
}
}
p { @include sexy-border(blue, 2px); }
/*... like ECMA*/
@mixin box-shadow($shadows...) {
-moz-box-shadow: $shadows;
-webkit-box-shadow: $shadows;
box-shadow: $shadows;
}
.shadows {
@include box-shadow(0px 4px 5px #666, 2px 6px 10px #999);
}
/*2nd example*/
@mixin colors($text, $background, $border) {
color: $text;
background-color: $background;
border-color: $border;
}
$values: #ff0000, #00ff00, #0000ff;
.primary {
@include colors($values...);
}
/*function & return */
$grid-width: 40px;
$gutter-width: 10px;
@function grid-width($n) {
@return $n * $grid-width + ($n - 1) * $gutter-width;
}
#sidebar { width: grid-width(5); }