前言
Sass,Syntactically Awesome StyleSheets。
Sass 是对 CSS 的扩展,让 CSS 语言更强大、优雅。 它允许你使用变量、嵌套规则、 mixins、导入等众多功能, 并且完全兼容 CSS 语法。 Sass 有助于保持大型样式表结构良好, 同时也让你能够快速开始小型项目, 特别是在搭配 Compass 样式库一同使用时。
安装
1、下载安装ruby
2、安装好ruby后,再ruby命令行中输入gem install sass
语法
变量
sass中可以定义变量,方便统一修改和维护。
1 | $fontStack: Helvetica, sans-serif; |
嵌套
sass可以进行选择器的嵌套,表示层级关系,看起来很优雅整齐。
1 | nav { |
导入
sass中如导入其他sass文件,最后编译为一个css文件,优于纯css的@import
。
1 | // reset.scss |
1 | @import 'reset'; |
mixin
sass中可用mixin定义一些代码片段,且可传参数,方便日后根据需求调用。从此处理css3的前缀兼容轻松便捷。
1 | @mixin box-sizing ($sizing) { |
扩展/继承
sass可通过@extend
来实现代码组合声明,使代码更加优越简洁。
1 | .message { |
运算
sass可进行简单的加减乘除运算等
1 | .container { width: 100%; } |
颜色
sass中集成了大量的颜色函数,让变换颜色更加简单。
1 | $linkColor: #08c; |
&表示当前元素
伪类和伪元素在CSS中是常用的一种方式,比如最常见的是链接的伪类或者说伪元素:after和:before的使用。大家常看到的就是清除浮动的clearfix:
1 | .clearfix:before, |
那么在Sass中,使用&会变得更简单,更方便:
1 | $lte-ie: true !default; |
&不止用于和伪类的结合,还可以用于多类选择器、后代选择器、相邻兄弟选择器、媒体查询中的嵌套等。
2016.07.30补
Sass编码错误
ruby环境sass编译中文出现Syntax error: Invalid GBK character。
解决办法如下:打开ruby中sass的安装目录,在其中找到engine.rb。在engine.rb中所有的require XXX
之后,添加
1 | Encoding.default_external = Encoding.find('utf-8') |
PS:小编的engine.rb的路径为D:\Program Files\Ruby23-x64\lib\ruby\gems\2.3.0\gems\sass-3.4.22\lib\sass\engine.rb
scss自动编译为css
如果希望某一个scss文件或者相应的文件夹下面文件修改后,自动进行编译,那么可以使用侦听命令。
1、侦听文件
1 | sass --watch --style compressed style.scss:style.css |
2、侦听文件夹
1 | sass --watch --style compressed scss:css |
3、封装为脚本
为了避免每次运行都敲命令,我们把上述命令分装为脚本scss.bat。
1 | sass --watch --style compressed scss:css |
海哥哥封装了不一样的scss-wap.bat,其中的参数至今没有看懂,可以实现同样的效果。
1 | @echo off |
该命令的含义为:
书签
sass安装
http://www.w3cplus.com/sassguide/install.html
SASS用法指南
http://www.ruanyifeng.com/blog/2012/06/sass.html
sass入门
http://www.w3cplus.com/sassguide/
SASS 初学者入门
http://www.oschina.net/translate/the-absolute-beginners-guide-to-sass
Sass参考手册
http://sass.bootcss.com/docs/sass-reference/
SassMeister在线调试
http://www.sassmeister.com/
ruby环境sass编译中文出现Syntax error: Invalid GBK character错误解决方法
http://www.tuicool.com/articles/f2YVRv
http://www.cnblogs.com/zhidong123/p/3902270.html
SASS的安装和转换为CSS的方法
http://www.cnblogs.com/52css/archive/2012/08/19/sass-how-to-install-and-use.html
前端之Sass/Scss实战笔记
http://www.tuicool.com/articles/iERVJbB
http://segmentfault.com/a/1190000003742313