1.1下载地址:

  http://rubyinstaller.org/downloads

2.1 安装

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

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

  gem install sass

然后,就可以使用了。

2.2 使用

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

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

  sass test.scss

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

  sass test.scss test.css

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

  * nested:嵌套缩进的css代码,它是默认值。

  * expanded:没有缩进的、扩展的css代码。

  * compact:简洁格式的css代码。

  * compressed:压缩后的css代码。

生产环境当中,一般使用最后一个选项。

  sass --style compressed test.sass test.css

你也可以让SASS监听某个文件或目录,一旦源文件有变动,就自动生成编译后的版本。

  // watch a file

  sass --watch input.scss:output.css

  // watch a directory

  sass --watch app/sass:public/stylesheets

SASS的官方网站,提供了一个在线转换器。你可以在那里,试运行下面的各种例子。

三、基本用法

 变量

SASS允许使用变量,所有变量以$开头。

Sass源代码:

$blue:#1875e7;
div{
color:$blue;
} $side:left;
/*asassdf*/
.rounded{
.round{
border-#{$side}-radius:5px;
} } /*计算能力*/
$var:2;
body{
margin: (14px/2);
top:50px + 100px;
right:$var * 20%;
} /*嵌套*/
div h1{
color:red;
} /*也可以写成这样*/
/*属性的嵌套必须要在属性后成加上冒号*/
p{
border:{
color:red; }
}
/*关于注释:
又斜杠是在css文件中是不显示的;
C++方式注释的方法会留在CSS文件中;
*/ /*继承*/
.class1{
margin:0 auto;
border:1px solid #000;
}
.class2{
@extend .class1;
font-size:120%;
} /*Mixin 宏的使用*/
@mixin left{ //定义mixin宏
float:left;
margin-left:10px;
} div{
@include left; //@include 用于引用minxin宏; } /*带参数的minxin宏*/
@mixin left($value:20px){
float:left;
margin-right:$value;
} //使用带参数的mixin宏;
div{
@include left(40px); } /*Sass高级语法*/
//@if 语句的使用;
p{
@if 1 + 1 == 2{
border:1px solid #000;
} @if 3 < 2{
border:2px solid #fff; }
}
//@else 语句的使用;
/*
@function linghtness($value){
@return $value;
}
$color:20%;
@if linghtness($color) > 30%{
background-color:#000;
}@else{
background-color:#fff;
}*/ //for 语句的使用;
@for $i from 1 to 5 {
.itme-#{$i} {width:100px; height:100px; }
} //while语句 $i:6; @while $i > 0 {
.itme-#{$i} {width: 2em * $i;}
$i:$i - 2; } //each命令
@each $member in a, b, c, d, f{ .#{$member}{
background-image:url("../images/#{$member}.jpg");
}
}

对应生成的CSS文件:

@charset "UTF-8";
div {
color: #1875e7;
} /*asassdf*/
.rounded .round {
border-left-radius: 5px;
} /*计算能力*/
body {
margin: 7px;
top: 150px;
right: 40%;
} /*嵌套*/
div h1 {
color: red;
} /*也可以写成这样*/
/*属性的嵌套必须要在属性后成加上冒号*/
p {
border-color: red;
} /*关于注释:
又斜杠是在css文件中是不显示的;
C++方式注释的方法会留在CSS文件中;
*/
/*继承*/
.class1, .class2 {
margin: 0 auto;
border: 1px solid #000;
} .class2 {
font-size: 120%;
} /*Mixin 宏的使用*/
div {
float: left;
margin-left: 10px;
} /*带参数的minxin宏*/
div {
float: left;
margin-right: 40px;
} /*Sass高级语法*/
p {
border: 1px solid #000;
} /*
@function linghtness($value){
@return $value;
}
$color:20%;
@if linghtness($color) > 30%{
background-color:#000;
}@else{
background-color:#fff;
}*/
.itme-1 {
width: 100px;
height: 100px;
} .itme-2 {
width: 100px;
height: 100px;
} .itme-3 {
width: 100px;
height: 100px;
} .itme-4 {
width: 100px;
height: 100px;
} .itme-6 {
width: 12em;
} .itme-4 {
width: 8em;
} .itme-2 {
width: 4em;
} .a {
background-image: url("../images/a.jpg");
} .b {
background-image: url("../images/b.jpg");
} .c {
background-image: url("../images/c.jpg");
} .d {
background-image: url("../images/d.jpg");
} .f {
background-image: url("../images/f.jpg");
}

Sass学习的更多相关文章

  1. Sass学习笔记(补充)

    阅读目录 1. Sass和SCSS的区别 2. @while循环 3. @at-root 4. @content 5. 凸显注释 6. CSS输出样式 7. 重置浏览器样式 8. Sass调试和@de ...

  2. Sass学习第一天

    Sass学习 网站学习地址: Sass中文网:https://www.sass.hk/docs/#t7-3 Airen的博客:https://www.w3cplus.com/preprocessor/ ...

  3. Sass学习笔记之入门篇

    Sass又名SCSS,是CSS预处理器之一,,它能用来清晰地.结构化地描述文件样式,有着比普通 CSS 更加强大的功能. Sass 能够提供更简洁.更优雅的语法,同时提供多种功能来创建可维护和管理的样 ...

  4. gulp + webpack + sass 学习

    笔记: new webpack.optimize.CommonsChunkPlugin 核心作用是抽离公共代码,chunks:['index.js','main.js'] 另一个作用就是单独生成一个j ...

  5. sass学习笔记1

    less在处理CSS动画时,非常恶心,决定转向sass了.sass诞生得比less早,只是因为它是ruby写的,因此受众面够少.但我们不需要自己下编译器或使用命令行,我们可以koala这神器 首先几个 ...

  6. sass学习(2)——关于变量

    定义一个sass变量 可以说,变量是一个编程语言的基础.所以对于sass来说,变量肯定是浓墨重彩的其中一笔,当然函数也是.那我们如何声明定义一个sass的变量呢? 变量的符号$ 变量名称 变量的值 那 ...

  7. sass学习(1)——了解sass

    为什么要选择sass 我们在手写css中,会遇到很多很麻烦的问题.倒不是一些技术的问题,而是工程量的问题.例如,如何可以代替难记的16进制颜色,如何可以让层次更清晰,还有重复的代码该如何偷懒.其实这一 ...

  8. sass 学习

    本来看了阮一峰和于江水两位老师的博客,有看了ionic自带的sass文件,原以为自己已经是很熟悉,精通了.可是我居然连ruby都不知道真实惭愧啊,辛亏看了www.sass.hk  我想这篇官方文档肯定 ...

  9. 菜鸟的 Sass 学习笔记

    介绍 sass 是什么?? 在sass的官网,它是这么形容给自己的 Sass is the most mature, stable, and powerful professional grade C ...

  10. SASS学习笔记!(持续学习中..)

    工具  : koala 学习网址 : http://www.w3cplus.com/sassguide/syntax.html  http://sass-lang.com/documentation/ ...

随机推荐

  1. poj 1011 搜索减枝

    题目链接:http://poj.org/problem?id=1011 #include<cstdio> #include<cstring> #include<algor ...

  2. Google协作平台

    本博文的主要内容有 .Google协作平台的介绍 1.Google协作平台的介绍 https://zh.wikipedia.org/wiki/Google%E5%8D%8F%E4%BD%9C%E5%B ...

  3. java通过解析文件获取apk版本等信息

    import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import ...

  4. js 中cookie 使用

    一个系统有多种 角色, 每一种角色不同权限.后台请求的数据根据权限展示 ,所以要把权限保存在浏览器中. 首先 引入 在页面 <script type="text/javascript& ...

  5. 摄像头参数查看与调节 分类: C/C++ OpenCV 2014-11-08 18:13 138人阅读 评论(0) 收藏

    cvGetCaptureProperty 获得视频获取结构的属性 double cvGetCaptureProperty( CvCapture* capture, int property_id ); ...

  6. linux下的僵尸进程处理SIGCHLD信号

    什么是僵尸进程? 首先内核会释放终止进程(调用了exit系统调用)所使用的所有存储区,关闭所有打开的文件等,但内核为每一个终止子进程保存了一定量的信息.这些信息至少包括进程ID,进程的终止状态,以及该 ...

  7. linux可重入、异步信号安全和线程安全

    一 可重入函数 当一个被捕获的信号被一个进程处理时,进程执行的普通的指令序列会被一个信号处理器暂时地中断.它首先执行该信号处理程序中的指令.如果从信号处理程序返回(例如没有调用exit或longjmp ...

  8. linux下ntfs硬盘的加载

    问题:       # mount –t ntfs /dev/sdb1 /mnt/       mount: unknown filesystem type ‘ntfs’       这是由于Cent ...

  9. Note | Javascript权威指南[第六版] 第1章:Javascript概述

       JavaScript是一门高端的.动态的.弱类型的编程语言,非常适合面向对象和函数式的编程风格.JavaScript的语法源自Java,它的一等函数(first-class function)来 ...

  10. linux 管道--转

    linux 管道 管道是Linux中很重要的一种通信方式,是把一个程序的输出直接连接到另一个程序的输入,常说的管道多是指无名管道,无名管道只能用于具有亲缘关系的进程之间,这是它与有名管道的最大区别. ...