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. wepack+sass+vue 入门教程(一)

    一.安装node.js node.js是基础,必须先安装.而且最新版的node.js,已经集成了npm. 下载地址 node安装,一路按默认即可. 二.全局安装webpack npm install ...

  2. SignalR系列续集[系列8:SignalR的性能监测与服务器的负载测试]

    目录 SignalR系列目录 前言 也是好久没写博客了,近期确实很忙,嗯..几个项目..头要炸..今天忙里偷闲.继续我们的小系列.. 先谢谢大家的支持.. 我们来聊聊SignalR的性能监测与服务器的 ...

  3. HTML 事件(一) 事件的介绍

    本篇主要介绍HTML中的事件知识:事件相关术语.DOM事件规范.事件对象. 其他事件文章 1. HTML 事件(一) 事件的介绍 2. HTML 事件(二) 事件的注册与注销 3. HTML 事件(三 ...

  4. 浏览器中用JavaScript获取剪切板中的文件

    本文转自我的个人网站  , 原文地址:http://www.zoucz.com/blog/2016/01/29/get-file-from-clipboard/  ,欢迎前往交流讨论 在网页上编辑内容 ...

  5. 玩转spring boot——结合redis

    一.准备工作 下载redis的windows版zip包:https://github.com/MSOpenTech/redis/releases 运行redis-server.exe程序 出现黑色窗口 ...

  6. Spring之初体验

                                     Spring之初体验 Spring是一个轻量级的Java Web开发框架,以IoC(Inverse of Control 控制反转)和 ...

  7. addTwoNumbers

    大神的代码好短,自己写的120多行=_= 各种判断 ListNode *f(ListNode *l1, ListNode *l2) { ListNode *p1 = l1; ListNode *p2 ...

  8. [原创]关于Hibernate中的级联操作以及懒加载

    Hibernate: 级联操作 一.简单的介绍 cascade和inverse (Employee – Department) Casade用来说明当对主对象进行某种操作时是否对其关联的从对象也作类似 ...

  9. “老坛泡新菜”:SOD MVVM框架,让WinForms焕发新春

    火热的MVVM框架 最近几年最热门的技术之一就是前端技术了,各种前端框架,前端标准和前端设计风格层出不穷,而在众多前端框架中具有MVC,MVVM功能的框架成为耀眼新星,比如GitHub关注度很高的Vu ...

  10. 茂名石化BPM应用实践 ——业务协同及服务共享平台建设和应用

    一.茂名石化简介 茂名石化隶属于中国石油化工集团公司,创建于1955年,是国家"一五"期间156项重点项目之一.经过50多年的发展,茂名石化已成为我国生产规模最大的炼油化工企业之一 ...