转自:http://www.w3cplus.com/preprocessor/beginner/getting-started-with-sass-and-compass.html

如果你的朋友、同事或网友有跟你说过Sass或者Compass,或者两者,那太棒了。现在怎么办?在这篇初学者指南中,我首先带领大家使用Sass和Compass。我将告诉大家如何完成安装和创建一个测试项目。怎么使用Sass编译CSS,甚至还会告诉大家有关于Sass中的"mixin"。

安装Sass和Compass

安装Sass和Compass需要使用“Ruby”的gem命令,所以你要先确保在你的机器上已安装了Ruby。

如果你使用的是Windows系统,你可以运行Ruby安装程序 。如果是Linux系统上,Rails为你提供了安装Ruby的向个要点。如果你使用的是OS X,那么你不用自己去安装Ruby,因为系统已帮你装好,你直接使用就可以。

如何安装Ruby已超过了本文需要介绍的范围,如果你安装Ruby碰到任何问题,你可以点击这里查看相关讨论

安装Sass

首先来安装Sass!打开你电脑上的命令终端

Windows

gem install compass

Linux/OS X

sudo gem install compass

使用Linux和OS X的同学,你使用gem来安装的时候,有可能要或有可能不要使用sudo命令。例如,如果你是使用的是RVM,那么就不需要使用sudo命令来安装。
好吧,我知道你在想什么。我只是说我们要安装Sass,可我却只告诉了你安装Compass的命令。事实上,Compass需要Sass,所以当你运行这个命令后,在命令终端你将会看到这样的信息:

$ sudo gem install compass
Fetching: sass-3.1..gem (%)
Fetching: compass-0.11..gem (%)
Successfully installed sass-3.1.
Successfully installed chunky_png-1.2.
Successfully installed fssm-0.2.
Successfully installed compass-0.11.
gems installed

当然,这个教程是写于“June 29, 2011“,历史有点老,当今使用上面的命令,你在你的命令终端或许会看到这样的代码:

[airen@airen:/Applications/XAMPP/htdocs/Sites]$ gem install compass
Fetching: fssm-0.2..gem (%)
Successfully installed fssm-0.2.
Fetching: chunky_png-1.3..gem (%)
Successfully installed chunky_png-1.3.
Fetching: sass-3.2..gem (%)
Successfully installed sass-3.2.
Fetching: compass-0.12..gem (%)
Successfully installed compass-0.12.
Parsing documentation for chunky_png-1.3.
Installing ri documentation for chunky_png-1.3.
Parsing documentation for compass-0.12.
Installing ri documentation for compass-0.12.
Parsing documentation for fssm-0.2.
Installing ri documentation for fssm-0.2.
Parsing documentation for sass-3.2.
Installing ri documentation for sass-3.2.
Done installing documentation for chunky_png, compass, fssm, sass after seconds
gems installed

当你运行这个命令,你看到不是这些信息,有可能在你的机器上没有Ruby或者不支持gem。如何解决这个问题,这超过了我所掌握的知识范围,如果你遇到了任何问题,你可以通过邮件列表来查找你的问题或者寻求相关帮助。

如果你被命令行吓倒了,不过不用太过担心。John Long写过一篇非常有名的教程《"The Designer’s Guide to the OSX Command Prompt"》。这里的内容应该可以非常快的帮助你解决这方面的问题。

此外,如果你实在是不喜欢使用命令行来操作,有两个GUI应用也可以使用Sass和Compass:

不过这两款都是付费软件。虽然我也非常支持付费消费,但有些像我这样的码农要付一定刀数的美刀,心有余而力不足呀。在此特向大家推荐国产的一款GUI——@OKLain开发的Koala相关使用的教程,可以阅读《SASS界面编译工具——Koala的使用》一文。——@大漠

CSS Parser

我还喜欢给compass stats安装一个css_parser,当输出Sass时,他可以为我输出一份详细的统计报告。输出的报告会包括Sass的规则,属性,mixin和使用mixin输出的CSS规则,以及相关统计。

安装"css_parse"只需要在命令行中运行:

gem install css_parser

如果安装正常,你将会在命令终端看到下面的一些信息:

Fetching: addressable-2.3..gem (%)
Successfully installed addressable-2.3.
Fetching: css_parser-1.3..gem (%)
Successfully installed css_parser-1.3.
Parsing documentation for addressable-2.3.
Installing ri documentation for addressable-2.3.
Parsing documentation for css_parser-1.3.
Installing ri documentation for css_parser-1.3.
Done installing documentation for addressable, css_parser after seconds
gems installed
现在,你为使用Sass和Compass做好一切准备工作,可以开始使用你的Sass和Compass了。

创建一个测试项目

最简单的方法在你的工作环境之下输入下面的命令:

compass create sass-test

我的电脑是XAMPP环境,我喜欢把我的所有项目都创建在/Applications/XAMPP/htdocs/Sites目录下。你执行完上面的命令,对应的工作目录下可以看到一个名为“sass-test”的项目。如下图所示:

而且在你的命令终端将看到下图所示的一些信息:

另外你还可以从GitHub上克隆下来这个测试项目

git clone https://github.com/thesassway/sass-test.git

但是你的目的是要学会如何做到这一点。

继续往下,使用cd)命令进入到你刚创建的“sass-test”目录下:

[airen@airen:/Applications/XAMPP/htdocs/Sites]$ cd sass-test/

并且使用你喜欢的编辑器打开它。我使用的是TextMate,但我一直想尝试使用Vim或者Sublime Text2

将Sass编译成CSS

这是最简单的一部分,使用Sass和Compass做事情,我们只需要在命令行中输入一个命令,就可以让Compass来做这些事情:

compass watch

如果你上面没有出错的话,你将看到这样的信息:

[airen@airen:/Applications/XAMPP/htdocs/Sites/sass-test]$ compass watch
>>> Compass is watching for changes. Press Ctrl-C to Stop.

如果是这种情况,你可以继续往下阅读,因为你现在开始踏上了使用Sass编译CSS的路程。

compass watch命令会做些什么事情呢?它会检控Sass文件的更改(保存更改),并且自动将Sass编译成CSS。它是如何知道将Sass编译出来的CSS放在哪呢?这是一个很大的问题,我会在未来的一篇“Configuring Compass”文章中详细介绍这一部分知识。

在此期间,我们看看在Sass和Compass项目“sass-test”根目录的config.rb文件。配置了一些基本的变量,让Compass知道你的Sass,CSS,JavaScript,图像文件放在哪里,有什么扩展需要,你喜欢什么语法,输出的格式等等。

编写Sass代码

好吧,在我们实际编写Sass之前,我们更重要的是要先了解Sass的一些历史。事实上,要把握的事情之一是,Sass有两种语法版本——这往往让人陷入混入之中,甚至直接吓跑了部分人使用Sass。

Sass就像CSS。好吧,这是一种误导。Sass可以像CSS。提到Sass的话,他有一定的历史,他实际上不只一种,而是有两种语法。其中一种语法名叫“Sass”,这让你更感到混乱。其主要的语法被称为“SCSS”(也就是Sassy CSS的缩写)。这种语法称为Sass3,而旧语法被称为“缩进语法”。

现在,我已经介绍了一下Sass的历史,他有两种语法是事实,但我相信我们已经准备好编写一些代码。或者我更应该说SCSS,因为SCSS语法类似于CSS和被设计成CSS3语法的超集。这意味着,每一个有效的CSS3样式表都是有效的SCSS。事实上,你可以复制一个CSS文件内容并粘贴到一个SCSS文件中,Sass将会编译出一个干净的CSS。

让我们来测试这个“理论”。我从我的博客的CSS文件中复制内容,并且粘贴到我们项目中的screen.scss文件中,然后运行compass编译。现在看看screen.css文件,你会看到Sass和Compass已编译出非压缩的,带有缩进,而且可读的CSS代码。

总结和下一步做什么

这个例子显然不是最实用的例子,在技术上我们没有写任何代码。我只是想证明给你看,过渡到Sass只需要零努力,只要你做了。

接下来,如果你使用了SassCompass,你应该了解他们的特性,并且使用他们的功能。这种转变就是最好的部分。你可以慢慢的把Sass和Compass使用起来,没有理由会被他们吓倒的。你只需要花数周时间就会战胜他们。

做到这一点,现在就开始做。

【Sass初级】开始使用Sass和Compass的更多相关文章

  1. Sass简介,安装环境,Sass的语法格式及编译调试

    什么是 CSS 预处理器? 定义:CSS 预处理器定义了一种新的语言,其基本思想是,用一种专门的编程语言,为 CSS 增加了一些编程的特性,将 CSS 作为目标生成文件,然后开发者就只要使用这种语言进 ...

  2. Sublime Text 3编译Sass - Sublime Text安装Sass插件

    1.首先要安装sass,安装流程: http://www.w3cplus.com/sassguide/install.html 2.sublime text安装Package Control(已经安装 ...

  3. 认识sass和webstrom的sass配置

    认识sass和webstrom的sass配置 我纳闷啊!电脑死机,我刚才编写的内容全没了. 呵呵! 一.sass的使用 1.首先要到官网下载个稳定的ruby版本,因为sass运行是需要ruby环境 它 ...

  4. vue -- 使用sass并引入公共sass文件

    sass可以提高我们的开发效率,怎么在vue的项目中使用sass并且可以设置一些公共的文件呢? 使用sass 1.安装sass的依赖包 npm install --save-dev sass-load ...

  5. sass安装:webpack sass编译失败,node-sass安装失败的终极解决方

    文章来源:sass安装:webpack sass编译失败,node-sass安装失败的终极解决方 sass难言之隐-sass安装的坑 之前花了很多时间折腾node-sass,发现sass老是安装不上 ...

  6. sass学习之一:sass安装compass部署

    主要参考 http://www.jianshu.com/p/5bfc9411f58f -------------------------------------------- sass基于ruby 需 ...

  7. sass初级语法

    github地址:https://github.com/lily1010/sass/tree/master/course01 用到的sass语法是: sass --watch test.scss:te ...

  8. 【Sass初级】嵌套选择器规则

    在CSS中,我们都知道所有代码都在一个“根级别”的选择器中,每个CSS的样式声明都写嵌套的话,那意客味需要写很多的代码. 今天我要带领大家进入到Sass的最基本原则中.这就是所谓的“基础规则(Ince ...

  9. sass调试--页面看到sass文件而不是css文件问题

    在浏览器页面有时看到sass文件而不是css文件问题,其主要由于sass开启了source-map(调试)功能,问题如下图: sass调试 sass调试需要开启编译时输出调试信息和浏览器调试功能,两者 ...

随机推荐

  1. linux下如何查看主机的外网ip地址

    在linux下如果我们使用的是nat方式上网.通过ifconfig命令查看到的ip地址往往是内网地址 那么如何查看主机在互联网上使用的公网IP呢?我们可以在命令行下使用curl命令实现这个功能. [r ...

  2. C#日期大全

    DateTime dt = DateTime.Now; // Label1.Text = dt.ToString();//2005-11-5 13:21:25 // Label2.Text = dt. ...

  3. lintcode:装最多水的容器

    装最多水的容器 给定 n 个非负整数 a1, a2, ..., an, 每个数代表了坐标中的一个点 (i, ai).画 n 条垂直线,使得 i 垂直线的两个端点分别为(i, ai)和(i, 0).找到 ...

  4. 读取本地excel发短信

    package com.cmcc.zysoft.sellmanager.controller; import java.io.File; import java.io.FileInputStream; ...

  5. C语言关键字

    No. 关键字 意义 备注 1 auto 声明自动变量 2 break 跳出当前循环 3 case switch语句的分支 4 char 声明字符型变量 5 const 声明只读变量 C90新增 6 ...

  6. 使用XShell工具密钥认证登录Linux系统

    如果你是一名Linux运维,那么Linux服务器的系统安全问题,可能是你要考虑的,而系统登录方式有两种,密码和密钥.哪一种更加安全呢? 无疑是后者! 这里我为大家分享用Xshell利器使用密钥的方式登 ...

  7. Spring框架学习之第9节

    aop编程 aop(aspect oriented programming)面向切面(方面)编程,是所有对象或者是一类对象编程,核心是(在不增加代码的基础上,还增加新功能) 汇编(伪机器指令 mov ...

  8. 一个简单的ObjC和JavaScript交互工具

    https://github.com/changjianfeishui/XBWebBridge ObjectiveC与Js交互是常见的需求,可对于新手或者所谓的高手而言,其实并不是那么简单明了.这里只 ...

  9. Intellij编译时报“java: System Java Compiler was not found in classpath” 解决办法

    Intellij编译时报“java: System Java Compiler was not found in classpath” 解决方法: Project Settings > Comp ...

  10. Spring_MVC_教程_快速入门_深入分析

    Spring MVC 教程,快速入门,深入分析 博客分类: SPRING Spring MVC 教程快速入门  资源下载: Spring_MVC_教程_快速入门_深入分析V1.1.pdf Spring ...