标签:
这种工具挺多的,今天没事,正好可以学习一下,关键的,重要的是,以后要用。
教程
http://www.haorooms.com/post/sass_css
http://www.w3cplus.com/sassguide/syntax.html
http://sassmeister.com/ 在线转换
安装:
mac本来就安装了ruby,直接安装sass就行,要使用国内的镜像;
gem update sass
sass -v
sass -h
* 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
基本用法
$side : left; .rounded { border-#{$side}-radius: 5px; }
所有变量以$开头
如果变量需要镶嵌在字符串之中,就必须需要写在#{}之中
body { margin: (14px/2); top: 50px + 100px; right: $var * 10%; }
可以使用计算公式
div h1 { color : red; } //可以写成: div { hi { color:red; } } //属性也可以嵌套,比如border-color属性,可以写成: p { border: { color: red; } } //注意,border后面必须加上冒号。 //在嵌套的代码块内,可以使用$引用父元素。比如a:hover伪类,可以写成: a { &:hover { color: #ffb3ff; } }
注释
标准的CSS注释 / comment / ,会保留到编译后的文件。 单行注释 // comment,只保留在SASS源文件中,编译后被省略。 在/*后面加一个感叹号,表示这是"重要注释"。即使是压缩模式编译,也会保留这行注释,通常可以用于声明版权信息。 /*! 重要注释! */
继承
.class2 { @extend .class1; font-size:120%; }
Mixin
@mixin left($value: 10px) { float: left; margin-right: $value; } 使用的时候,根据需要加入参数: div { @include left(20px); }
颜色函数
lighten(#cc3, 10%) // #d6d65c darken(#cc3, 10%) // #a3a329 grayscale(#cc3) // #808080 complement(#cc3) // #33c
插入文件
@import
条件语句
@if @else
循环语句
@for $i from 1 to 10 { .border-#{$i} { border: #{$i}px solid blue; } } $i: 6; @while $i > 0 { .item-#{$i} { width: 2em * $i; } $i: $i - 2; } @each $member in a, b, c, d { .#{$member} { background-image: url("/image/#{$member}.jpg"); } }
自定义函数
@function double($n) { @return $n * 2; } #sidebar { width: double(5px); }
写了那么多,基本用法有以下几部分:
变量:嵌套在字符串中
计算:/ + *
嵌套:属性,父元素
注释:3种
继承
mixin
颜色
文件
条件:循环
自定义函数
标签:
原文地址:http://www.cnblogs.com/wang-jing/p/4813574.html