Sass环境搭建,详情见另一篇博文 安装Ruby、Sass与Compass

  我们都知道Sass其实有两种,一种是Sass,一种是SCSS。

  Sass 和 SCSS 其实是同一种东西,我们平时都称之为 Sass,两者之间不同之处有以下两点:

  1. 文件扩展名不同,Sass 是以“.sass”后缀为扩展名,而 SCSS 是以“.scss”后缀为扩展名
  2. 语法书写方式不同,Sass 是以严格的缩进式语法规则来书写,不带大括号({})和分号(;),而 SCSS 的语法书写和我们的 CSS 语法书写方式非常类似。

  今天我要讲的SCSS编译方式是命令编译方式,在命令编译方式中有不同样式风格的输出方法。分别是

  1. 嵌套输出方式 nested
  2. 展开输出方式 expanded
  3. 紧凑输出方式 compact
  4. 压缩输出方式 compressed

  

  例如 style.scss文件的代码如下,现要通过以上四种方式来编译: 

  1. @charset "utf-8";
  2. #box{
  3. width:400px;
  4. height:400px;
  5. border:1px solid gray;
  6. h1{
  7. font-size:22px;
  8. color:red;
  9. }
  10. p{
  11. font-size:18px;
  12. color:green;
  13. }
  14. }

  

  (1)、nested(嵌套输出)方式: 

  现在要将其编译成style.css文件。

  命令为: sass style.scss:style1.css --style nested

  编译后代码如下: 

  1. #box {
  2. width: 400px;
  3. height: 400px;
  4. border: 1px solid gray; }
  5. #box h1 {
  6. font-size: 22px;
  7. color: red; }
  8. #box p {
  9. font-size: 18px;
  10. color: green; }

  可以看到代码行间还是有一定的缩进的。

  (2)、expanded(展开输出)方式

  同样是style.scss文件将其编译为style1.css文件。

  命令为: sass style.scss:style1.css --style expanded

  编译后代码为: 

  1. #box {
  2. width: 400px;
  3. height: 400px;
  4. border: 1px solid gray;
  5. }
  6. #box h1 {
  7. font-size: 22px;
  8. color: red;
  9. }
  10. #box p {
  11. font-size: 18px;
  12. color: green;
  13. }

  可以看出编译后和css的书写规则是一样的。

  (3)、compact(紧凑输出)方式。

  将style.scss文件编译成style2.css文件。

  命令为: sass style.scss:style2.css --style compact

  编译后结果为:

  1. #box { width: 400px; height: 400px; border: 1px solid gray; }
  2. #box h1 { font-size: 22px; color: red; }
  3. #box p { font-size: 18px; color: green; }

  

  (4)、compressed(压缩输出)方式。

  将style.scss文件编译成style3.css文件。

  命令为: sass style.scss:style3.css --style compressed

  编译后结果为:

   #box{width:400px;height:400px;border:1px solid gray}#box h1{font-size:22px;color:red}#box p{font-size:18px;color:green}

Sass的四种编译方式的更多相关文章

  1. sass学习笔记 -- sass的四种编译方法

    sass的四种编译方法:(.scss) (一)ruby下的命令行编译 首先需要安装ruby,注意需勾选Add Ruby executables to your PATH选项,以添加环境变量. ruby ...

  2. c++ --> c++中四种类型转换方式

    c++中四种类型转换方式   c风格转换的格式很简单(TYPE)EXPRESSION,但是c风格的类型转换有不少缺点, 1)它可以在任意类型之间转换,比如你可以把一个指向const对象的指针转换成指向 ...

  3. 【转】C++四种类型转换方式

    C++四种类型转换方式 https://blog.csdn.net/lv_amelia/article/details/79483579 C风格的强制类型转换(Type Case)很简单,不管什么类型 ...

  4. Android开发之基本控件和详解四种布局方式

    Android中的控件的使用方式和iOS中控件的使用方式基本相同,都是事件驱动.给控件添加事件也有接口回调和委托代理的方式.今天这篇博客就总结一下Android中常用的基本控件以及布局方式.说到布局方 ...

  5. TypeScript的4种编译方式

    1.手动编译 1.1.首先找到TypeScript的安装目录,我的在"C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0".

  6. lua中for循环的四种遍历方式

    lua中for的四种遍历方式区别 table.maxn 取最大的整数key #table 从1开始的顺序整数最大值,如1,2,3,6 #table == 3   key,value pairs 取每一 ...

  7. Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (一) —— 总览

    Android数据的四种存储方式SharedPreferences.SQLite.Content Provider和File (一) —— 总览   作为一个完成的应用程序,数据存储操作是必不可少的. ...

  8. HttpwebClient的四种请求方式

    最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷.      本文旨在发布代码,供自己参考,也供大家参考,谢谢. 正题: Ht ...

  9. Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (三) —— SharePreferences

    除了SQLite数据库外,SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息.其存储位置在/data ...

随机推荐

  1. JavaScript构造函数、继承的理解

    前两天稍微深入一点点理解了原型和原型链,然后就开始有挺多疑问的: function dog() { this.name = "huahua"; } var cat = new do ...

  2. Visual Studio 我的插件

    为了以后开发方便,自己记录下好用的Visual Studio 扩展 1.outline if折叠 2.Indent Guides 代码块虚线 3.CodeMaid 大文件里能够重构文件,快速定位方法. ...

  3. (通用)深度学习环境搭建:tensorflow安装教程及常见错误解决

    区别于其他入门教程的"手把手式",本文更强调"因"而非"果".我之所以加上"通用"字样,是因为在你了解了这个开发环境之后 ...

  4. ExpandableListView的完美实现,JSON数据源,右边自定义图片

    转载请标明出处: http://www.cnblogs.com/dingxiansen/p/8194669.html 本文出自:丁先森-博客园 最近在项目中要使用ExpandableListView来 ...

  5. windows 安装Mysql压缩包

    1.将mysql压缩包解压至选定目录下 2.修改my-default.ini文件的以下内容 basedir = E:\develope_software\MySQL\mysql-advanced-5. ...

  6. extjs Proxy

    我们先来看看Extjs非常绚丽的Grid,其功能包括显示数据列表,修改.删除,分页,排序等功能.   Grid组件用来显示Store中的数据.Store可以看做是Model实例的集合.Grid仅关心如 ...

  7. Linux服务管理1-1 课程简介与系统运行级别

  8. MicroPython-GPS教程之TPYBoardv702控制5110显示当前经纬度

    一.关于TPYBoardV702 TPYBoardV702是目前市面上唯一支持通信定位功能的MicroPython开发板:支持Python3.0及以上版本直接运行.支持GPS+北斗双模定位.GPRS通 ...

  9. 使用ui-route实现多层嵌套路由

    一.预期实现效果: https://liyuan-meng.github.io/uiRouter-app/index.html (项目地址:https://github.com/liyuan-meng ...

  10. Linux 常见目录与区别

    .   代表此层目录 ..   代表上一层目录 -   代表前一个工作目录 ~   代表『目前用户身份』所在的家目录