作者:empty 出版社:empty |
Sass有两种语法格式, 首先是SCSS(Sassy CSS) 一也是本文示例所使用的格式一这种格式仅在CSS 3语法的基础上进行拓展, 所有CSS 3语法在SCSS中都是通用的, 同时加人Sass的特色功能, 此外, SCSS也支持大多数CSS hacks写法以及浏览器前缀写法(vendor-specific syntax) , 以及早期的IE滤镜写法。这种格式以scs作为拓展名。另一种也是最早的Sass语法格式, 被称为缩进格式(Indented sass) 通常简称 Sass , 是一种简化格式。它使用“缩进”代替“花括号”表示属性属于某个选择器,用“换行”代替“分号”分隔属性,很多人认为这样做比SCSS更容易阅读, 书写也更快速。缩进格式也可以使用sass的全部功能, 只是与SCSS相比个别地方采取了不同的表达方式, 具体请查看the indented syntax reference, 这种格式以,6a6W作为拓展名。任何一种格式可以直接导入(@import) 到另一种格式中使用, 或者通过gass-convert命令行工具转换成另一种格式
使用Sass可以通过以下三种方式使用:作为命令行工具; 作为独立的Ruby模块(Ruby module) ; 或者作为Rack-enabled框架的插件(例如RubyonRails与Me rb) .无论哪种方式都需要先安装Sass gem(Windows系统需要先安装Ruby) :在命令行中运行Sass:监视单个sass文件, 每次修改并保存时自动编译:监视整个文件夹:更多命令的用法请通过sass-help获取帮助。在Ruby中使用Sass也非常容易, Sass gem安装完毕后运行require sass'然后按照下面的方法使用Sass::Engine:样式文件与views不同, 不包含任何动态内容, 因此CSS只需要在Sass文件被修改后再编译生成。默认情况下Sass自动缓存编译后的模板与partials, 这样做能够显著提升重新编译的速度, 尤其在处理由a1r part在Ruby 1.9及以上环境中运行Sass时, Sass对文件的编码格式比较敏感, 首先会根据CSS spec判断样式文件的编码格式, 如果失败则检测Ruby string encoding.也就是说, Sass首先检查Unicode byte
3.2.缓存(Caching)多个子文件的大型项目时。单独使用Sass, 缓存内容保存在5a 55-ca thetap/sass-cache文件夹中(可通过cache location修改路径).禁用缓存可将3.3.配置选项(Options)智未翻译3.4.判断语法格式(Syntax Selection)Sass命令行工具根据文件的拓展名判新所使用的语法格式, 没有文件名时saso添加SEGs选项或者使用5cs5命令编译SCSS文件。3.5.编码格式(Encodings)order mark, 然后是e charsetUTF-8编码。与CSS相同, 使用o charset
声明, 最后是Ruby string encoding, 假如都没有检测到, 默认使用可以声明特定的编码格式,在样式文件的起始位置(前面没有任何空白与注释)插e charset*encoding-nane , sass将会按照给出的编码格式编译文件, 注意所使用的编码格式必须可转换为Unicode字符集Sass以UTF-8编码输出CSS文件, 当且仅当编译后的文件中包含非ASCII字符时, 才会在输出文件中添加e charset声明, 而在压缩模式下(compressed mode) 使用UTF-8 byteorder mark代替e charset声明语句。
4.CSS功能拓展(CSS Extensions)4.1.嵌套规则(Nested Rules)Sass允许将一套CSS样式嵌套进另一套样式中, 内层的样式将它外层的选择器作为父选择器, 例如:编译为嵌套功能避免了重复输入父选择器, 而且令复杂的CSS结构更易于管理:在嵌套CSS规则时, 有时也需要直接使用嵌套外层的父选择器, 例如, 当给某个元素设定hover