SASS是一种CSS的开发工具,提供了许多便利的写法,大大节省了设计者的时间,使得CSS的开发,变得简单和可维护。 本文总结了SASS的主要用法。个人目标是,有了这篇文章,平常的通常使用就不须要去看官方文档了。css
gem install sass
gem install sass --pre
git clone git://github.com/nex3/sass.git cd sass rake install
gem update sass
sass -v
sass -h
淘宝RubyGems镜像安装 sasshtml
gem sources
命令来配置源,先移除默认的https://rubygems.org
源,而后添加淘宝的源https://ruby.taobao.org/
,而后查看下当前使用的源是哪一个,若是是淘宝的,则表示能够输入sass安装命令gem install sass
了,关于经常使用gem source命令可参看:经常使用的gem source$ gem sources -a https://ruby.
taobao.org/$ gem sources -lgit
*** CURRENT SOURCES *** github
#
请确保只有
ruby.taobao.org
https://ruby.taobao.org
能够看到版本号,说明安装成功!浏览器
假定你已经安装好了Ruby,接着在命令行输入下面的命令:sass
sass有两种后缀名文件:一种后缀名为sass,不使用大括号和分号;另外一种就是咱们这里使用的scss文件,这种和咱们平时写的css文件格式差很少,使用大括号和分号。而本教程中所说的全部sass文件都指后缀名为scss的文件。在此也建议使用后缀名为scss的文件,以免sass后缀名的严格格式要求报错。ruby
//文件后缀名为sass的语法 body background: #eee font-size:12px p background: #0982c1 //文件后缀名为scss的语法 body { background: #eee; font-size:12px; } p{ background: #0982c1; }
SASS容许使用变量,全部变量以$开头,后面紧跟变量名,而变量值和变量名之间就须要使用冒号(:)分隔开(就像CSS属性设置同样),若是值后面加上!default则表示默认值。网络
若是变量须要镶嵌在字符串之中,就必须须要写在#{}之中。ide
sass具备运算的特性,能够对数值型的Value(如:数字、颜色、变量等)进行加减乘除四则运算。请注意运算符先后请留一个空格,否则会出错。函数
SASS容许在代码中使用算式:
sass的嵌套包括两种:一种是选择器的嵌套;另外一种是属性的嵌套。咱们通常提及或用到的都是选择器的嵌套。
所谓选择器嵌套指的是在一个选择器中嵌套另外一个选择器来实现继承,从而加强了sass文件的结构性和可读性。
在选择器嵌套中,可使用&
表示父元素选择器
SASS容许选择器嵌套。好比,下面的CSS代码:
在嵌套的代码块内,可使用$引用父元素。好比a:hover伪类,能够写成:
SASS共有两种注释风格。
标准的CSS注释 / comment / ,会保留到编译后的文件。
单行注释 // comment,只保留在SASS源文件中,编译后被省略。
在/*后面加一个感叹号,表示这是"重要注释"。即便是压缩模式编译,也会保留这行注释,一般能够用于声明版权信息。
sass中,选择器继承可让选择器继承另外一个选择器的全部样式,并联合声明。使用选择器的继承,要使用关键词@extend
,后面紧跟须要继承的选择器。
SASS容许一个选择器,继承另外一个选择器。好比,现有class1:
class2要继承class1,就要使用@extend命令:
sass中使用@mixin
声明混合,能够传递参数,参数名以$符号开始,多个参数以逗号分开,也能够给参数设置默认值。声明的@mixin
经过@include
来调用。
Mixin有点像C语言的宏(macro),是能够重用的代码块。
使用@mixin命令,定义一个代码块。
使用@include命令,调用这个mixin。
mixin的强大之处,在于能够指定参数和缺省值。
使用的时候,根据须要加入参数:
下面是一个mixin的实例,用来生成浏览器前缀。
使用的时候,能够像下面这样调用:
sass定义了不少函数可供使用,固然你也能够本身定义函数,以@fuction开始。sass的官方函数连接为:sass fuction,实际项目中咱们使用最多的应该是颜色函数,而颜色函数中又以lighten减淡和darken加深为最,其调用方法为lighten($color,$amount)
和darken($color,$amount)
,它们的第一个参数都是颜色值,第二个参数都是百分比。
SASS提供了一些内置的颜色函数,以便生成系列颜色。
@import命令,用来插入外部文件。
若是插入的是.css文件,则等同于css的import命令。
@if
可一个条件单独使用,也能够和@else
结合多条件使用
SASS支持for循环:
@for $var from <start> through <end>
和@for $var from <start> to <end>
。也支持while循环:
each命令,做用与for相似:
语法为:@each $var in <list or map>
。其中$var
表示变量,而list和map表示list类型数据和map类型数据。sass 3.3.0新加入了多字段循环和map数据循环。
SASS容许用户编写本身的函数。
语法为:if($condition, $if_true, $if_false)
。三个参数分别表示:条件,条件为真的值,条件为假的值。
if(true, 1px, 2px) => 1px if(false, 1px, 2px) => 2px
要是您有什么问题,能够留言交流!