为什么使用Sass
作为前端(html、javascript、css)的三大马车之一的css,一直以静态语言存在,HTML5火遍大江南北了、javascript由于NODE.JS而成为目前前后端统一开发语言的不二之选。只有css似乎成为前端开发的被忽视的角色了。

Sass让css有了动态语言的特点,在初次学习css时,有时候同样的样式在不同的#或.中一次又一次重复的编码,有了Sass,在css语法的基础上不仅可以写变量、函数,而且可以百分百的转换为标准的css。再次把Don‘t Repeat Yourself进行到底,降低了“码农”的工作量,提高了效率。而且现在越来越多的优秀开发人员专门利用sass和compass构建出非常优秀的前端样式开发框架(如,Button),再一次提高我们的生产力。

安装Sass

Sass依赖于Ruby,需先安装Ruby

安装过程中注意勾选上第二项!即将Ruby加入到可执行的环境变量中去。

运行 ruby -v 能看到对应的版本则说明安装正确。

默认的源有可能被墙, 可以切换淘宝的源
使用命令行安装sass:

使用命令,查看是否安装成功,如下显示表示安装成功:




简单使用Sass

在sass文件夹下创建demo1.scss文件,内容:
$myColor: #ccc;

#page {
color: $myColor;
}
使用命令编译SCSS文件:
sass demo1.scss demo1.css

得到编译后的css文件

内容
#page {
color: #ccc; }

/*# sourceMappingURL=demo1.css.map */

提高生产力的Sass

如下,在学习sass之前我们大概都是这么来写css的:

ul.nav {float: right}
ul.nav li {float: left;}
ul.nav li a {color: #111}
ul.nav li.current {font-weight: bold;}
但,有了sass后,那就方便多了:
ul.nav{
float:right;
li{
float:left;
a{
color:#111;
}
&.current{
font-weight:bold;
}
}
}
&的作用  &.current = li.current   .current = li .current 

每次手动执行命令很麻烦. 接下来使用Nodejs和Grunt来实现SASS的自动编译。

先来看看Grunt是什么? Grunt 是一个应用程序构建、任务管理工具。它可以实现生产自动化,避免大理繁琐单调重复的工作。目的就是为了自动化,减少你重复做的工作。当你配置好了一个Grunt任务管理之后,它可以帮你减少很多重复性工作,按照配置使用并减少出错可能。

安装grunt命令行界面(CLI)

在安装grunt.js之前,需要先安装Grunt的命令行界面。安装方法也很简单,打开你的命令终端,在命令行中,输入:

如果正确的执行了命令, 会如下图所示

漫长的等待

安装成功
如果你要卸载grunt的话,可以在你的终端直接输入:npm uninstall grunt -g

接下来在WebStorm中启用Grunt

打开项目中的scss文件
点击右上角的提示 Add Watcher

在弹出的设置页面中选择Program项目后的浏览按钮, 选择ruby安装目录下\bin\sass.bat文件



此页面可以修改Sass编译时的参数, 及生成的css文件的目录.
如想再次修改, 在设置-->工具集-->File Watcher-->SCSS 点击后面的铅笔即可显示设置页面




现在尝试修改lib/ionic/scss 目录下的scss文件, 将会自动在 lib/ionic/css文件中生成相应的css文件,最后, 别忘了在html页面里引用ionic.css文件



在项目目录下运行 npm install  会把所需要的所有npm包下载到项目目录
 
注意点
1.项目路径里不能有除英文以外的字符.如中文,韩文
2.FileWatch默认的生成目录是www/lib/ionic/scss. 并不是 www/lib/ionic/css . 如要生成到其他目录需在FileWatch中配置
--no-cache  --update $FileName$:$ProjectFileDir$\www\css\$FileNameWithoutExtension$.css
红色部分为输出目录及文件


--no-cache --trace --update $FileName$:$FileNameWithoutExtension$.css
加入 --trace命令, 显示 生成跟踪事件




SASS 入门的更多相关文章

  1. CSS进阶之SASS入门指南

    CSS进阶之SASS入门指南         随着跟着公司学习项目的前端的推进,越来越对好奇了许久的SASS垂涎欲滴,哈哈,可能这个词使用不当,没有关系,就是对SASS有一股神秘的爱!好了,闲话不多说 ...

  2. sass入门(一)

    一].sass入门安装sass安装koala // sass中可以自定义变量 $fontStack: Microsoft Yahei; $primaryColor: #333; body { font ...

  3. Sass入门指南

    转自:http://www.imooc.com/article/1413 css预处理器已经算不上一个新鲜的词了,当前比较有代表性的css预处理器有sass.less.stylus.关于三者选择问题一 ...

  4. 09-移动端开发教程-Sass入门

    1. 引言 CSS3之前的CSS都大都是枚举属性样式,而编程语言强大的变量.函数.循环.分支等功能基本都不能在CSS中使用,让CSS的编程黯淡无光,Sass就是一种增强CSS编程的扩展语言(CSS4也 ...

  5. Sass入门及知识点整理

    Sass 快速入门 | SASS 中文网 文档链接:https://www.sasscss.com/getting-started/ 前言 之前整理了一篇关于Less的,现在就来整理一下关于Sass的 ...

  6. SASS 入门笔记

    参考资料: SASS 用法指南 SASS 语法 Sass Basics SASS_REFERENCE sass 有两种后缀名文件:一种后缀名为 sass,不使用大括号和分号:另一种就是我们这里使用的 ...

  7. sass入门

    SASS是一种CSS的开发工具,提供了许多便利的写法,大大节省了设计者的时间,使得CSS的开发,变得简单和可维护. SASS 官网介绍: sass is the most mature(成熟的),st ...

  8. sass入门教程

    一.什么是SASS SASS是一种CSS的开发工具,提供了许多便利的写法,大大节省了设计者的时间,使得CSS的开发,变得简单和可维护. 二.安装和使用 2.1 安装 SASS是Ruby语言写的,必须先 ...

  9. sass 入门教程

    1.引言 众所周知css并不能算是一们真正意义上的“编程”语言,它本身无法未完成像其它编程语言一样的嵌套.继承.设置变量等工作.为了解决css的不足,开发者们想到了编写一种对css进行预处理的“中间语 ...

  10. Sass入门——基本特性-基础

    本文来自慕课网大漠 声明变量 三个部分:1.声明变量的符号"$"2.变量名称3.赋予变量的值 $brand-primary : darken(#428bca, 6.5%) !def ...

随机推荐

  1. Exception message: /bin/bash: line 0: fg: no job control

    这个错误是 我本地idea 远程调试hadoop集群出现的 Diagnostics: Exception from container-launch. Container id: container_ ...

  2. 解析ASP.NET WebForm和Mvc开发的区别 分类: ASP.NET 2013-12-29 01:59 11738人阅读 评论(5) 收藏

    因为以前主要是做WebFrom开发,对MVC开发并没有太深入的了解.自从来到创新工场的新团队后,用的技术都是自己以前没有接触过的,比如:MVC 和EF还有就是WCF,压力一直很大.在很多问题都是不清楚 ...

  3. 关于注解Annotation第一篇

    注解的定义格式如下: public @interface 注解名 {定义体} 定义体就是方法的集合,每个方法实则是声明了一个配置参数.方法的名称作为配置参数的名称,方法的返回值类型就是配置参数的类型. ...

  4. Chapter 3 Phenomenon——2

    I had enough trouble not falling down when the ground was dry; it might be safer for me to go back t ...

  5. Go 提高性能的特性

    1.值的高效处理和存储,允许创建紧凑的数据结构,避免不必要的填充字节.紧凑的数据结构能更好地利用缓存.更好的缓存利用率可带来更好的性能. 2.函数的调用有开销,减少函数调用开销的解决方案是内联.简单的 ...

  6. mysql和mysql jdbc连接器mysql-connector-java对应关系

    mysql和mysql jdbc连接器mysql-connector-java对应关系,请参考下图:来源于mysql官网

  7. java.lang 类String

    方法摘要1  charcharAt(int index) 返回指定索引处的 char 值.               index - char 值的索引.2 string       concat( ...

  8. 前端神器之Sublime Text2/3简单明了使用总结

    为什么叫神器呢? 我总结如下: 第一:也是最重要的,它占内存很小(就如同notepad++那般迅速打开,所以那款其实也不错~).一般IDE比如WebStorm(它也是一款神器来着),Aptana(也比 ...

  9. Behave 基础

    在你使用behave或其他BDD框架之前, 你应该选择一个断言库. python有很多这方面的第三方库.例如: hamcrest,nose.tools,  should-dsl, sure, comp ...

  10. 读取配置文件-AppConfig

    using System.Xml; using System.IO; using System; namespace Framework.Common { /// <summary> // ...