安装

  1. 下载ruby并且安装 点击这里
  2. 打开命令行输入 gem install sass
  3. 我使用的是sublime text3 还需要下载三个插件
    • sass -- 可以帮助你语法高亮
    • sass build -- 可以通过Ctrl+B来编译文件
    • SublimeOnSaveBuild -- 帮助你在保存的时候编译

      4.编译的命令
    • 单个文件转换

      sass style.scss style.css
    • 单文件监听

      sass --watch style.scss:style.css
    • 文件夹监听

      sass --watch sassFileDirectory:cssFileDirectory
    • 命令行其他配置项
      • --style表示解析后的css是什么格式,有四种取值分别为:nested,expanded,compact,compressed。
      • --sourcemap表示开启sourcemap调试。开启sourcemap调试后,会生成一个后缀名为.css.map文件。
      • --debug-info表示开启debug信息,升级到3.3.0之后因为sourcemap更高级,这个debug-info就不太用了。

常用语法入门

1.变量
sass中可以定义变量,方便统一修改和维护

输入:

$fontFamily: SimSun;

$baseColor: #333;

body {

font-family: $fontFamily;

color: $baseColor;

}

生成:

body {
font-family: Helvetica, sans-serif;
color: #333;
}

2.嵌套
sass可以进行选择器的嵌套,表示层级关系

输入:

div {

ul {

margin: 0;

padding: 0;

list-style: none;

}

li { display: inline-block;float:left; }

a {

display: block;

padding: 6px 12px;

text-decoration: none;

}

}

生成:

div ul {
margin: 0;
padding: 0;
list-style: none;
} div li {
display: inline-block;
float:left;
} div a {
display: block;
padding: 6px 12px;
text-decoration: none;
}

3.导入
在sass中导入其他的sass文件,最终生成一个sass文件

输入:

_base文件代码:

html,

body,

ul,

ol {

margin: 0;

padding: 0;

}

当前文件代码:

@import '_base';

body {

font-size: 100%;

background-color: #666;

}

生成:

html, body, ul, ol {
margin: 0;
padding: 0;
} body {
font-size: 100%;
background-color: #666;
}

4.mixin
sass中可用mixin定义一些代码段,可传参数,方便处理css3前缀

输入:

@mixin box-sizing ($sizing) {

-webkit-box-sizing:$sizing;

-moz-box-sizing:$sizing;

box-sizing:$sizing;

}

.box-border{

border:1px solid #ccc;

@include box-sizing(border-box);

}


生成:
```css
.box-border {
border: 1px solid #ccc;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}

5.拓展/继承
sass可通过@extend来实现代码组合声明

输入:

.message {

border: 1px solid #ccc;

padding: 10px;

color: #333;

}

.success {

@extend .message;

border-color: green;

}

.error {

@extend .message;

border-color: red;

}

生成:

.message, .success, .error{
border: 1px solid #cccccc;
padding: 10px;
color: #333;
} .success {
border-color: green;
} .error {
border-color: red;
}

6.运算
sass可进行简单的加减乘除运算

输入:

.container { width: 100%; }

article[role="main"] {

float: left;

width: 600px / 960px * 100%;

}

aside[role="complimentary"] {

float: right;

width: 300px / 960px * 100%;

}

生成:

.container {
width: 100%;
} article[role="main"] {
float: left;
width: 62.5%;
} aside[role="complimentary"] {
float: right;
width: 31.25%;
}

7.颜色
sass中集成了大量的颜色

输入:

$linkColor: #08c;

a {

text-decoration:none;

color:$linkColor;

&:hover{

color:darken($linkColor,10%);

}

}

生成:

a {
text-decoration: none;
color: #0088cc;
}
a:hover {
color: #006699;
}

sass相关随笔的更多相关文章

  1. SASS相关

    1.安装ruby http://rubyinstaller.org/downloads/ 2.安装SASS gem sources --remove https://rubygems.org/ gem ...

  2. SSM框架之AOP、动态代理、事务处理相关随笔

    AOP: 原理:底层利用动态代理(两种动态代理技术都使用了) 两种实现方案: 第一种:JDK动态代理技术 实现的InvocationHandler接口,要想实现某个类的动态代理对象,必须有接口有实现类 ...

  3. vue-baidu-map相关随笔

    一,使用vue-baidu-map 1.下载相关包依赖 npm i vue-baidu-map   2.在main.js中import引入相关包依赖,在main.js中添加如下代码: import B ...

  4. nuxt.js相关随笔

    对于nuxt.js从未接触,对于项目需要进行零散了解,作此归纳,以下都是一个新手的拙见与理解,有不同意见欢迎提出,但请勿喷. 一.项目创建 npx create-nuxt-app projectNam ...

  5. H264相关随笔

    DR(Instantaneous Decoding Refresh)--即时解码刷新. I和IDR帧都是使用帧内预测的.它们都是同一个东西而已,在编码和解码中为了方便,要首个I帧和其他I帧区别开,所以 ...

  6. js(jQuery)相关随笔

    //获取所有name='id'.被选择的的多选框var idArr = $("input[type='checkbox'][name='id']:checked");//将这些多选 ...

  7. Hive相关随笔

    1).Hive中Select Top N的实现 Hive中使用 Order by + Limit 可以很容易地实现Select Top N. 但是在Hive中Order by只能使用1个Reduce, ...

  8. Spring Mvc相关随笔

    web.xml部分 1.欢迎界面 <welcome-file-list> <welcome-file>/views/login.jsp</welcome-file> ...

  9. Sass关于颜色函数的乐趣

    阅读目录 1. 了解RGB和HSL颜色标准 2. RGB函数 3. HSL函数 4. Opacity函数 5. 其他颜色函数 6. 一个简单的应用 在Sass中,定义了很多现成的函数,可供我们使用.在 ...

随机推荐

  1. 2、misa统计SRR结果

    参考: https://www.sogou.com/link?url=hedJjaC291NYNxVe4xgB4c3bUxXRMqZrT93cntTAgYfyBbRAdP9kIA.. https:// ...

  2. storm shell命令源码分析-shell_submission.clj

    当我们在shell里执行storm shell命令时会调用shell_submission.clj里的main函数.shell_submission.clj如下: shell_submission.c ...

  3. 关于js模板引擎template的使用记录

    引言 有一天在群里有一个人发了这么一个图片 看到这个就会发现2个问题,一个是后期如果html结构改变了,这一大块都要重写.还有一个就是写的时候自己都看不清,很容易出错. 然后还有一个人写的清楚一点,但 ...

  4. Ajax.BeginForm 使用过程中遇到的问题

    一.Ajax.BeginForm设置的路由在浏览器中解析不到. 问题截图:在视图中设置"Counter/Index",在浏览器中显示的是"action='/'" ...

  5. 反射实现数据库增删改查DAO及DAOImpl源代码(二)

    配置文件源码 配置文件主要用于配置数据库对象(javaBean),配置表名,配置查询条件,配置删除条件 文件名称:objectConfigPath.properties 这个配置文件里面配置的是另外一 ...

  6. poj 2068 Nim

    Nim POJ - 2068 题目大意:多组数据,两人轮流操作,n轮一循环,给出总石子数和这n轮每次两人能取的石子上限(下限为1).取到最后一颗者输. /* f[i][j]表示在第i轮中一共有j个石子 ...

  7. 如何使用JDBC Request跨数据库查询后引用查询的结果作为下一个JDBC Request的入参

    [前言] 今天来给大家介绍下如何使用JDBC Request跨数据库查询后引用查询的结果作为下一个JDBC Request的入参! 因为我现在所测的系统模块中部分表在不同的数据库中,所以在用JDBC ...

  8. 什么时候要重写equals

    什么时候要重写equals 当对象需要根据值去比较它们是否相等时,需要我们重写equals,而它的hashCode也同时需要被重要,一般来说就是对类里所有成员变更求hashCode. 没有重写equa ...

  9. 存储引擎:MySQL系列之七

    一.MyISAM存储引擎 缺点: 不支持事务 最小粒度锁:表级 读写相互阻塞,写入不能读,读时不能写 不支持MVCC(支持多版本并发控制机制) 不支持聚簇索引 不支持数据缓存 不支持外键 崩溃恢复性较 ...

  10. Testlink安装配置时常见问题解决

    1.windows下安装testlink,进入安装页面后,在检查一些相关配置环境时报错,如下: Checking if /var/testlink/logs/ directory exists [S] ...