为什么使用Sass

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

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

准备条件

在安装和使用sass之前,需要一些准备条件:

  1. 文件夹---存放.scss 或 .sass;

  2. 编辑器,我们推荐使用Sublime Text 2 或者 3

  3. 你的电脑需要安装Ruby,因为sass是依赖于Ruby的。在windows需要自己手动下载Ruby的。

安装Sass

使用命令行安装sass:

gem install sass

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

$ sass -v
Sass 3.3.8 (Maptastic Maple)

简单使用Sass

在sass文件夹下创建demo1.scss文件,内容:

$myColor: #ccc;

#page {
color: $myColor;
}

使用命令行:

sass demo1.scss demo1.css

会在同一个文件夹下生成一个demo1.css文件,内容:

#page {
color: #cccccc; }

提高生产力的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;
}
}
}

通过编译,得到css:

ul.nav {
float: right; }
ul.nav li {
float: left; }
ul.nav li a {
color: #111; }
ul.nav li.current {
font-weight: bold; }

除了排版不一样之外,再也看不出有什么区别。但使用sass写出来的样式结构,不仅层次分明,意思明确,而且编码量明显减少。

转自:http://www.yemeishu.com/%E5%AD%A6%E4%B9%A0sass%E4%B9%8B%E5%AE%89%E8%A3%85sass%EF%BC%88%E4%B8%80%EF%BC%89/

最新文章

  1. (转)linux下和云端通讯的例程, ubuntu和openwrt下实验成功(二)
  2. kmeans算法并行化的mpi程序
  3. MindManager中发送导图给别的用户的教程
  4. Java 线程池框架核心代码分析--转
  5. android studio 中查找代码中的硬编码
  6. linux常用命令 3
  7. My First Django Project - <Django + MySQL + Ajax> (1)
  8. 题目1096:日期差值(a-b=(a-c)-(b-c))
  9. OpenCV(6)-腐蚀和膨胀
  10. stl的集合set——安迪的第一个字典(摘)
  11. 在MVC5中的使用Ninject
  12. .c与.cpp的区别解析
  13. 前端架构之路:使用Vue.js开始第一个项目
  14. SQL SERVER-时间戳(timestamp)与时间格式(datetime)互相转换
  15. 使用JavaScript制作页面特效2
  16. .NET 发送电子邮件
  17. HDU 6432(不连续环排列 ~)
  18. Ansible 详解
  19. LOJ #6436. 「PKUSC2018」神仙的游戏(字符串+NTT)
  20. 2.1 uml序言

热门文章

  1. JS—实现拖拽
  2. grunt学习笔记
  3. MongoDB由于目标计算机积极拒绝,无法连接
  4. sql 语句纵表变横表
  5. Golang 效率初(粗)测
  6. PSR-1:基本的代码风格
  7. iOS中事件传递过程
  8. UVALive 3177 长城守卫
  9. 办公大楼3D指纹门禁系统解决方案
  10. TFS二次开发系列:二、TFS的安装