SASS安装及使用(sass教程、详细教程)

采用SASS开发CSS,可以提高开发效率。

SASS建立在Ruby的基础之上,所以得先安装Ruby。

Ruby的安装:

安装 rubyinstaller-2.3.0-x64.exe

注:在安装的时候,请勾选Add Ruby executables to your PATH这个选项,添加环境变量,不然以后使用编译软件的时候会提示找不到ruby环境。

SASS的安装:

安装完ruby之后,在开始菜单中,找到刚才我们安装的ruby,打开Start Command Prompt with Ruby。

然后直接在命令行中输入:

gem install sass

按回车键确认,等待一段时间就会提示你sass安装成功,如果失败,则换其他方法安装。

查看当前源

gem sources

删除默认源

gem sources --remove https://rubygems.org/

添加新源

gem sources -a http://grms.ruby-china.org/

安装sass

gem install sass

安装完成后就可以使用了

Sass 有两种语法。 第一种被称为 SCSS (Sassy CSS),是一个 CSS3 语法的扩充版本,这份参考资料使用的就是此语法。 也就是说,所有符合 CSS3 语法的样式表也都是具有相同语法意义的 SCSS 文件。 另外,SCSS 理解大多数 CSS hacks 以及浏览器专属语法,例如IE 古老的 filter 语法。 这种语种语法的样式表文件需要以 .scss 扩展名。

第二种比较老的语法成为缩排语法(或者就称为 "Sass"), 提供了一种更简洁的 CSS 书写方式。 它不使用花括号,而是通过缩排的方式来表达选择符的嵌套层级,I 而且也不使用分号,而是用换行符来分隔属性。 很多人认为这种格式比 SCSS 更容易阅读,书写也更快速。 缩排语法具有 Sass 的所有特色功能, 虽然有些语法上稍有差异; 这些差异在{file:INDENTED_SYNTAX.md 所排语法参考手册}中都有描述。 使用此种语法的样式表文件需要以 .sass 作为扩展名。

SASS的使用:

建立一个.scss的文件

编写相关代码

进入该目录

键入该命令

回车执行

最终的结果

SASS常用语法:

基本用法

1 变量

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

  $blue : #1875e7; 

  div {

   color : $blue;

  }

如果变量需要镶嵌在字符串之中,就必须需要写在#{}之中。

  $side : left;

  .rounded {

    border-#{$side}-radius: 5px;

  }

2 计算功能

SASS允许在代码中使用算式:

  body {

    margin: (14px/2);

    top: 50px + 100px;

    right: $var * 10%;

  }

3 嵌套

SASS允许选择器嵌套。比如,下面的CSS代码:

  div h1 {

    color : red;

  }

可以写成:

  div {

    hi {

      color:red;

    }

  }

属性也可以嵌套:

  p {

    border-color: red;

  }

可以写成:

  p {

    border: {

      color: red;

    }

  }

注意,border后面必须加上冒号。

4 注释

SASS共有两种注释风格。

标准的CSS注释 /* comment */ ,会保留到编译后的文件。

单行注释 // comment,只保留在SASS源文件中,编译后被省略。

代码的重用

1 继承

SASS允许一个选择器,继承另一个选择器。比如,现有class1:

  .class1 {

    border: 1px solid #ddd;

  }

class2要继承class1,就要使用@extend命令:

  .class2 {

    @extend .class1;

    font-size:120%;

  }

2 Mixin

Mixin有点像C语言的宏(macro),是可以重用的代码块。

使用@mixin命令,定义一个代码块。

  @mixin left {

    float: left;

    margin-left: 10px;

  }

使用@include命令,调用这个mixin。

  div {

    @include left;

  }

mixin的强大之处,在于可以指定参数和缺省值。

  @mixin left($value: 10px) {

    float: left;

    margin-right: $value;

  }

使用的时候,根据需要加入参数:

  div {

    @include left(20px);

  }

3 颜色函数

SASS提供了一些内置的颜色函数,以便生成系列颜色。

  lighten(#cc3, 10%) // #d6d65c

  darken(#cc3, 10%) // #a3a329

  grayscale(#cc3) // #808080

  complement(#cc3) // #33c

4 插入文件

@import命令,用来插入外部文件。

  @import("path/filename.scss");

如果插入的是.css文件,则等同于css的import命令。

  @import "foo.css";

高级用法

1 条件语句

@if可以用来判断:

  p {

    @if 1 + 1 == 2 { border: 1px solid; }

    @if 5 < 3 { border: 2px dotted; }

  }

配套的还有@else命令:

  @if lightness($color) > 30% {

    background-color: #000;

  } @else {

    background-color: #fff;

  }

2 循环语句

SASS支持for循环:

  @for $i from 1 to 10 {

    .border-#{$i} {

      border: #{$i}px solid blue;

    }

  }

也支持while循环:

  $i: 6;

  @while $i > 0 {

    .item-#{$i} { width: 2em * $i; }

    $i: $i - 2;

  }

each命令,作用与for类似:

  @each $member in a, b, c, d {

    .#{$member} {

      background-image: url("/image/#{$member}.jpg");

    }

  }

3 自定义函数

SASS允许用户编写自己的函数。

  @function double($n) {

    @return $n * 2;

  }

  #sidebar {

    width: double(5px);

  }

(完)

SASS教程sass超详细教程的更多相关文章

  1. Github上传代码菜鸟超详细教程【转】

    最近需要将课设代码上传到Github上,之前只是用来fork别人的代码. 这篇文章写得是windows下的使用方法. 第一步:创建Github新账户 第二步:新建仓库 第三部:填写名称,简介(可选), ...

  2. WebRTC VideoEngine超详细教程(三)——集成X264编码和ffmpeg解码

    转自:http://blog.csdn.net/nonmarking/article/details/47958395 本系列目前共三篇文章,后续还会更新 WebRTC VideoEngine超详细教 ...

  3. Struts2+Spring4+Hibernate4整合超详细教程

    Struts2.Spring4.Hibernate4整合 超详细教程 Struts2.Spring4.Hibernate4整合实例-下载 项目目的: 整合使用最新版本的三大框架(即Struts2.Sp ...

  4. 安装64位Oracle 10g超详细教程

    安装64位Oracle 10g超详细教程 1. 安装准备阶段 1.1 安装Oracle环境 经过上一篇博文的过程,已经完成了对Linux系统的安装,本例使用X-Manager来实现与Linux系统的连 ...

  5. NumPy 超详细教程(3):ndarray 的内部机理及高级迭代

    系列文章地址 NumPy 最详细教程(1):NumPy 数组 NumPy 超详细教程(2):数据类型 NumPy 超详细教程(3):ndarray 的内部机理及高级迭代 ndarray 对象的内部机理 ...

  6. NumPy 超详细教程(2):数据类型

    系列文章地址 NumPy 最详细教程(1):NumPy 数组 NumPy 超详细教程(2):数据类型 NumPy 超详细教程(3):ndarray 的内部机理及高级迭代 文章目录 NumPy 数据类型 ...

  7. NumPy 超详细教程(1):NumPy 数组

    系列文章地址 NumPy 最详细教程(1):NumPy 数组 NumPy 超详细教程(2):数据类型 NumPy 超详细教程(3):ndarray 的内部机理及高级迭代 文章目录 Numpy 数组:n ...

  8. 【python】10分钟教你用python打造贪吃蛇超详细教程

    10分钟教你用python打造贪吃蛇超详细教程 在家闲着没妹子约, 刚好最近又学了一下python,听说pygame挺好玩的.今天就在家研究一下, 弄了个贪吃蛇出来.希望大家喜欢. 先看程序效果: 0 ...

  9. 数学规划求解器lp_solve超详细教程

    前言 最近小编学了运筹学中的单纯形法.于是,很快便按奈不住跳动的心.这不得不让我拿起纸和笔思考着,一个至关重要的问题:如何用单纯形法装一个完备的13? 恰巧,在我坐在图书馆陷入沉思的时候,一位漂亮的小 ...

  10. c++ 网络编程课设入门超详细教程 ---目录

    原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/9663167.html c++ 网络编程(一)TCP/UDP windows/linux 下入门 ...

随机推荐

  1. alias导致virtualenv异常的分析和解法

    title: alias导致virtualenv异常的分析和解法 toc: true comments: true date: 2016-06-27 23:40:56 tags: [OS X, ZSH ...

  2. 在Openfire上弄一个简单的推送系统

    推送系统 说是推送系统有点大,其实就是一个消息广播功能吧.作用其实也就是由服务端接收到消息然后推送到订阅的客户端. 思路 对于推送最关键的是服务端向客户端发送数据,客户端向服务端订阅自己想要的消息.这 ...

  3. 浅谈我对DDD领域驱动设计的理解

    从遇到问题开始 当人们要做一个软件系统时,一般总是因为遇到了什么问题,然后希望通过一个软件系统来解决. 比如,我是一家企业,然后我觉得我现在线下销售自己的产品还不够,我希望能够在线上也能销售自己的产品 ...

  4. nginx+php的使用

    原文来自:windows下配置nginx+php环境 按照他的步骤走,亲测可用! 但是这里他后面说的根目录可能有些人有点懵. 其实在设置的时候就设置了: 网站根目录就是www这个目录,如果没创建请自行 ...

  5. Java 输出流中的flush方法

    转自:http://blog.csdn.net/jiyangsb/article/details/50984440 java中的IO流中的输出流一般都有flush这个操作,这个操作的作用是强制将缓存中 ...

  6. SQL Server-表表达式基础回顾(二十四)

    前言 从这一节开始我们开始进入表表达式章节的学习,Microsoft SQL Server支持4种类型的表表达式:派生表.公用表表达式(CTE).视图.内嵌表值函数(TVF).简短的内容,深入的理解, ...

  7. 普通程序员如何转向AI方向

    眼下,人工智能已经成为越来越火的一个方向.普通程序员,如何转向人工智能方向,是知乎上的一个问题.本文是我对此问题的一个回答的归档版.相比原回答有所内容增加. 一. 目的 本文的目的是给出一个简单的,平 ...

  8. LINQ to SQL Select查询

    1. 查询所有字段 using (NorthwindEntities context = new NorthwindEntities()) { var order = from n in contex ...

  9. [算法]——归并排序(Merge Sort)

    归并排序(Merge Sort)与快速排序思想类似:将待排序数据分成两部分,继续将两个子部分进行递归的归并排序:然后将已经有序的两个子部分进行合并,最终完成排序.其时间复杂度与快速排序均为O(nlog ...

  10. 【Java每日一题】20170103

    20161230问题解析请点击今日问题下方的"[Java每日一题]20170103"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...