一、阐述

学过CSS的人都知道,它不是一种编程语言

你可以用它开发网页样式,但是没法用它编程。也就是说,CSS基本上是设计师的工具,不是程序员的工具。在程序员眼里,CSS是一件很麻烦的东西。它没有变量,也没有条件语句,只是一行行单纯的描述,写起来相当费事。

Sass 是一款强化 CSS 的辅助工具,它在 CSS 语法的基础上增加了变量 (variables)、嵌套 (nested rules)、混合 (mixins)、导入 (inline imports) 等高级功能,这些拓展令 CSS 更加强大与优雅。使用 Sass 以及 Sass 的样式库(如 Compass)有助于更好地组织管理样式文件,以及更高效地开发项目。

很自然地,有人就开始为CSS加入编程元素,这被叫做”CSS预处理器”(css preprocessor)。它的基本思想是,用一种专门的编程语言,进行网页样式设计,然后再编译成正常的CSS文件。

sass具备以下几个特点:

兼容CSS

Sass完全兼容所有版本的CSS。我们对此严格把控,所以你可以无缝地使用任何可用的CSS库。

特性丰富

Sass拥有比其他任何CSS扩展语言更多的功能和特性。Sass核心团队不懈努力,一直使其保持领先地位。

成熟

Sass已经经过其核心团队超过8年的精心打造。

行业认可

一次又一次地,行业把Sass作为首选CSS扩展语言。

社区庞大

数家科技企业和成百上千名开发者为Sass提供支持。

框架

有无数的框架使用Sass构建。比如Compass,Bourbon,和Susy。

二、什么是SASS

SASS是一种CSS的开发工具,提供了许多便利的写法,大大节省了设计者的时间,使得CSS的开发,变得简单和可维护

本文总结了SASS的主要用法。有了这篇文章,日常的一般使用就不需要去看官方文档

需要说明的是。sass编写的文件最终需要编译成css文件,才能导入到项目中。但这并不意味着sass编写是多余的,学习了sass语法后你会发现用更简单,较少的代码就可以编译出目标的css代码,相比直接写css代码更能节省时间,代码更精简与可维护。

三、安装和使用

3.1 安装

SASS是Ruby语言写的,但是两者的语法没有关系。不懂Ruby,照样使用。只是必须先安装Ruby,然后再安装SASS。

假定你已经安装好了Ruby,接着在命令行输入下面的命令:

因为国内网络的问题导致gem源间歇性中断因此我们需要更换gem源。(使用淘宝的gem (https://ruby.taobao.org/) 如下:

//1.删除原gem源
gem sources --remove https://rubygems.org/

//2.添加国内淘宝源
gem sources -a https://ruby.taobao.org/

//3.打印是否替换成功
gem sources -l

//4.更换成功后打印如下
*** CURRENT SOURCES ***
https://ruby.taobao.org/

如果没有安装Ruby,先从官网下载Ruby并安装。安装过程中注意勾选Add Ruby executables to your PATH添加到系统环境变量。如下图:

安装完成后需测试安装有没有成功,运行CMD输入以下命令:

    ruby -v
    //如安装成功会打印
    ruby 2.2.2p95 (2015-04-13 revision 50295) [i386-mingw32]

显示如上代码说明安装成功。

编译SASS

sass编译有很多种方式,如命令行编译模式、sublime插件SASS-Build、编译软件koala、前端自动化软件codekit、Grunt打造前端自动化工作流grunt-sass、Gulp打造前端自动化工作流gulp-ruby-sass等。

SASS文件就是普通的文本文件,里面可以直接使用CSS语法。文件后缀名是.scss,意思为Sassy CSS。

命令式编译:

下面的命令,可以在屏幕上显示.scss文件转化的css代码。(假设文件名为test。)

sass test.scss

如果要将显示结果保存成文件,后面再跟一个.css文件名。

sass test.scss test.css  //单文件转换命令
sass --watch input.scss:output.css  //单文件监听命令 边改边编译
sass --watch app/sass:public/stylesheets //如果你有很多的sass文件的目录,你也可以告诉sass监听整个目录:

SASS提供四个编译风格的选项:

  • nested:嵌套缩进的css代码,它是默认值。
  • expanded:没有缩进的、扩展的css代码。
  • compact:简洁格式的css代码。
  • compressed:压缩后的css代码。
//编译格式
sass --watch input.scss:output.css --style compact
//编译添加调试map
sass --watch input.scss:output.css --sourcemap
//选择编译格式并添加调试map
sass --watch input.scss:output.css --style expanded --sourcemap
//开启debug信息
sass --watch input.scss:output.css --debug-info
  • --style表示解析后的css是什么排版格式;
  • sass内置有四种编译格式:nested expanded compact compressed
  • --sourcemap表示开启sourcemap调试。开启sourcemap调试后,会生成一个后缀名为.css.map文件。

四种编译排版显示:

    //未编译样式
    .box {
     width: 300px;
     height: 400px;
     &-title {
        height: 30px;
        line-height: 30px;
      }
    }

nested 编译排版格式

    /*命令行内容*/
    sass style.scss:style.css --style nested

    /*编译过后样式*/
    .box {
      width: 300px;
      height: 400px;
    }

    .box-title {
      height: 30px;
      line-height: 30px;
    }

expanded 编译排版格式

    /*命令行内容*/
    sass style.scss:style.css --style expanded
    /*编译过后样式*/
    .box {
      width: 300px;
      height: 400px;
    }
    .box-title {
      height: 30px;
      line-height: 30px;
    }

compact 编译排版格式

    /*命令行内容*/
    sass style.scss:style.css --style compact

    /*编译过后样式*/
    .box { width: 300px; height: 400px; }
    .box-title { height: 30px; line-height: 30px; }

compressed 编译排版格式

/*命令行内容*/
sass style.scss:style.css --style compressed

/*编译过后样式*/
.box{width:300px;height:400px}.box-title{height:30px;line-height:30px}

软件方式编译:

这里推荐koala&codekit,它们是优秀的编译器,界面清晰简洁,操作起来也非常简单。鉴于koala是免费编译器,简单操作如下图:

易上手的Sass编译工具koala支持多个环境的安装文件 下载Koala

koala是一个国产免费前端预处理器语言图形编译工具,支持Less、Sass、Compass、CoffeeScript,帮助web开发者更高效地使用它们进行开发。跨平台运行,完美兼容windows、linux、mac。

如何使用koala请移步官方文档,在这里你能学习到koala的简单的操作与使用。

0条评论

相关推荐

HTML教程

HTML基础教程

HTML 2019-05-31 12:00:02