使用sass的前提是安装Ruby,如果是Mac系统,那么免去安装,Windows系统需要自行安装https://www.sass.hk/install/.当安装好以后,直接执行安装sass命令:gem install sass

sass文件的后缀名是.scss,如果想要将sass文件转为css文件,那么执行:sass xxx.scss即可.sass的编译风格有四种,但是经常使用生产环境中的编译选项(最后一项):

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

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

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

* compressed:压缩后的css代码。执行命令:sass --style compressed xxx.scss xx.css

为了避免每次都需要手动执行编译,也可以启动监听文件或者目录的方式,每当文件有变动就会自动编译:

sass --watch in.scss out.css  //watch file

sass --watch app/sass:app/styles  //watch directory

1 变量

1.基本用法是在前面加$,这种仅可以是单变量使用:

$test: #ccc;

div {

color: $test;

}

2.另一种是需要和字符串连起来使用的,这时需要借助#{}使用:

$test: background;

div {

#{$test}-color: #fff;

}

2 计算

这个功能很方便,可以和变量搭配起来使用:

$x: 10%;

div {

padding: $x * 3;

margin: $x * 5;

}

3 嵌套

此功能比较常用,省去了对于写css某元素下的后代设置:

div{

p{

font-size: 16px;

background: #000;

}

}

除了元素可以嵌套外,属性也是可以嵌套的,注意不可以省去冒号:

border: {

radius: 50%;

color: #eee;

width: 5px;

style: solid;

}

使用&来引用父元素,伪元素经常使用:

a{

&:hover{

text-decoration: underline;

color: #999;

}

}

4 注释

sass有两种注释风格,一种是//,另外一种是标准的css编译/* */;如果需要使用到重要注释,那么需要在第一个/*后加个叹号/*! 重要注释 */:

5 继承

继承使用的方式是@extends,允许一个选择器继承另一个:

.a {

font-size: 10px;

}

.b {

@extend .a;

color: #ccc;

}

6 mixin

mixin的使用类似于宏定义,可以重用,而且可以带参数,比如使用@mixin定义一个代码块:

@mixin right1 { //不带参数

margin-right: 15px;

padding-right: 20px;

}

@mixin right2($value: 10px,$r) { //带参数,可以给定缺省值

float: right;

padding-right: $value;

margin-#{$r}: 20px;

}

div {

@include right1;

@include right2(20px,right); //调用,给定实参

}

7 颜色函数

sass提供内置的颜色函数,用于生成系列颜色

  • lighten(#cc3, 10%) // #d6d65c
  • darken(#cc3, 10%) // #a3a329
  • grayscale(#cc3) // #808080
  • complement(#cc3) // #33c

8 条件语句

@if opacity > 0.5 {

color: #000;

}@else{

color: #fff;

}

9 循环语句

@for $i from 1 to 10 {

.border-#{$i} {

border: #{$i}px solid blue;

}

}

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

.#{$me}{

background-image: url(#{$me.jpg});

}

}

$i: 10;

@while $i > 0 {

.item-#{$i} {

width: 2em * $i;

}

$i: $i - 2;

}

10 自定义函数

@function diy($n) {

@return $n * $n;

}

.side {

width: diy(5px);

}

sass的基本使用的更多相关文章

  1. wepack+sass+vue 入门教程(三)

    十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...

  2. wepack+sass+vue 入门教程(二)

    六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...

  3. wepack+sass+vue 入门教程(一)

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

  4. 前端CSS预处理器Sass

    前面的话   "CSS预处理器"(css preprocessor)的基本思想是,用一种专门的编程语言,进行网页样式设计,然后再编译成正常的CSS文件.SASS是一种CSS的开发工 ...

  5. SASS教程sass超详细教程

    SASS安装及使用(sass教程.详细教程) 采用SASS开发CSS,可以提高开发效率. SASS建立在Ruby的基础之上,所以得先安装Ruby. Ruby的安装: 安装 rubyinstaller- ...

  6. Sass之坑Compass编译报错

    前段时间在使用Compass时遇到了其为难处理的一个坑,现记录到博客希望能帮助到各位. 一.问题: 利用Koala或者是gulp编译提示如下,截图为koala编译提示错误: 二.解决办法 从问题截图上 ...

  7. emmet,jade,haml, slim,less,sass,coffeescript等的实战优缺点

    摘要: 文章背景,来自于群内周五晚上的一次头脑风暴式的思维碰撞交流活动. 随着前端技术的蓬勃发展, 各种新技术随着生产力的需要不断的涌入我们的视野, 那今天探讨的话题是这些新时代的前端兵器谱: 一. ...

  8. Sass用法指南

    写在前面的话:随着CSS文件越来越大,内容越来越复杂,对其进行很好的维护将变的很困难.这时CSS预处理器就能够帮上大忙了,它们往往拥有变量.嵌套.继承等许多CSS不具备的特性.有很多CSS预处理器,这 ...

  9. PostCSS深入学习: PostCSS和Sass、Stylus或LESS一起使用

    如果你喜欢使用PostCSS,但又不想抛弃你最喜欢的预处理器.不用担心,你不需要作出二选一的选择,你可以把PostCSS和预处理器(Sass.Stylus或LESS)结合起来使用. 有几个PostCS ...

  10. Sass:初识Sass与Koala工具的使用

    一.下载Koala(找到合适的系统版本)并安装 二.先新建一个css文件夹,并在里面新建一个文本文档(.txt),将其命名为demo.scss 三.打开Koala,将css文件夹拽进来,可以修改一下输 ...

随机推荐

  1. TensorFlow中assign函数

    tf.assign assign ( ref , value , validate_shape = None , use_locking = None , name = None ) 定义在:tens ...

  2. TensorFlow 算术运算符

    TensorFlow 算术运算符 TensorFlow 提供了几种操作,您可以使用它们将基本算术运算符添加到图形中. tf.add tf.subtract tf.multiply tf.scalar_ ...

  3. FCC JS基础算法题(2):Check for Palindromes(检查回文字符串)

    题目描述: 如果给定的字符串是回文,返回true,反之,返回false.如果一个字符串忽略标点符号.大小写和空格,正着读和反着读一模一样,那么这个字符串就是palindrome(回文).注意你需要去掉 ...

  4. C# 网络通信功能 同步数据交互开发

    前言 本文将使用一个Nuget公开的组件技术来实现一对多的数据通信功能,提供了一些简单的API,来方便的向服务器进行数据请求. 在visual studio 中的Nuget管理器中可以下载安装,也可以 ...

  5. CMake 构建项目教程-简介

    CMake 构建项目教程-简介 Linux 平台构建项目,选择了CLion作为C++的IDE,而CLion默认就是使用CMake构建项目,所以这里记录了CMake在构建项目过程的一些小知识. 1. 项 ...

  6. easyui datagrid去掉全选按钮

    第一步: F12查看元素,选中全选按钮,把全选按钮的class里边加上display:none属性.找到对应的class,即.datagrid-header-check. 第二步: 在加载 表格的时候 ...

  7. 国内优秀MVC开源框架jfinal简介

    JFinal简介 JFinal 项目开发始于2011年初,作者詹波(James Zhan)曾任搜格信息技术有限公司Java架构师,北京信息管理科学研究所CTO,现任微格网际(北京)科技有限公司联合创始 ...

  8. linux nodejs

    scp node-v8.15.0-linux-x64.tar.gz root@10.88.248.231:/lngoa tar -zxvf node-v8.15.0-linux-x64.tar.gz ...

  9. [转].NET 性能测试工具 -- 事件跟踪器(ETW)

    .NET 性能测试工具 -- 事件跟踪器(ETW) 内容预告: Windows内置工具(性能计数器) 事件跟踪器(WPT,PerfMoniter,PerfView,自定义ETW) 时间分析 内存分配分 ...

  10. 简析Colorspace

    最近Colorspace成为了一个很高频的问题,很多Compositor为这个概念感到纠结,其实这是很正常的,因为Colorspace发展了很多年,也有很多种标准,最后还要落地到合成软件中,中间自然就 ...