1、任何可以用作css属性值的赋值都可以用作sass变量值。如果变量值与属性不匹配,sass会当作普通字符串来处理。

  1. $family: "microsoft yahei", Arial, sans-serif;
  2. div {
  3. font-family: $family;
  4. color: 7em;
  5. }

编译为:

  1. div {
  2. font-family: "microsoft yahei", Ubuntu, Arial, sans-serif;
  3. color: 7em;
  4. }

2、添加!global标识的变量将作用在全局

  1. .inner {
  2. $some-color: #ccc !global;
  3. }
  4. div {
  5. color: $some-color;
  6. }

编译为:

  1. div {
  2. color: #ccc;
  3. }

3、颜色也是可运算的

  1. div {
  2. color: #010203 + #030201;
  3. background: #010203 * 2;
  4. }

编译为:

  1. div {
  2. color: #040404;
  3. background: #020406;
  4. }

4、在类名、属性名、字符串变量值中使用变量时,需要用#{}包裹

  1. $name: foo;
  2. $prop: width;
  3. div.#{$name} {
  4. $font-size: 14px;
  5. $font-weight: bold;
  6. font: #{$font-size} * #{$font-weight};
  7. border-#{$prop}: 1px;
  8. }

编译为:

  1. div.foo {
  2. font: 14px * bold;
  3. border-width: 1px;
  4. }

5、中划线和下划线是互相兼容的,用中划线申明的变量可以用下划线引用,反之亦然。

  1. div {
  2. $some-color: #ccc;
  3. color: $some_color;
  4. }

编译为:

  1. div {
  2. color: #ccc;
  3. }

6、带有!default标识的变量,如果该变量在别处声明了,且声明的值不为null,则用声明的值,否则用这个默认值。

  1. $some-color: #ccc;
  2. $some-color: red !default;
  3. $bg: null;
  4. $bg: #fff !default;
  5. div {
  6. color: some-color;
  7. background-color: $bg;
  8. }

编译为:

  1. div {
  2. color: #ccc;
  3. background-color: #fff;
  4. }

7、&指向父选择器。如果没有父选择器,&为null,所以&可以在条件语句中使用。

  1. a {
  2. &:hover {
  3. color: red;
  4. }
  5. .tip & {
  6. font-size: 14px;
  7. }
  8. }
  9. .foo .bar, .baz {
  10. /* 此时&为:((".foo" ".bar"), ".baz") */
  11. @if & {
  12. background: #ccc;
  13. } @else {
  14. a {
  15. color: #ccc;
  16. }
  17. }
  18. }

编译为:

  1. a:hover {
  2. color: red;
  3. }
  4. .tip a {
  5. font-size: 14px;
  6. }
  7. .foo .bar, .baz {
  8. background: #ccc;
  9. }

Sass使用小技巧的更多相关文章

  1. 编写SASS的一些技巧

    更好的为变量命名 变量是Sass中最简单的特性之一,但有时候也会使用不当.创建站点范围内有语义化的变量,是不可或缺的工作.如果命名不好,他会变得难以理解和重复使用. 这里有一些命名变量的小技巧,提供参 ...

  2. 前端网络、JavaScript优化以及开发小技巧

    一.网络优化 YSlow有23条规则,中文可以参考这里.这几十条规则最主要是在做消除或减少不必要的网络延迟,将需要传输的数据压缩至最少. 1)合并压缩CSS.JavaScript.图片,静态资源CDN ...

  3. Git小技巧 - 指令别名及使用Beyond Compare作为差异比较工具

    前言 本文主要写给使用命令行来操作Git的用户,用于提高Git使用的效率.至于使用命令还是GUI(Tortoise Git或VS的Git插件)就不在此讨论了,大家根据自己的的喜好选择就好.我个人是比较 ...

  4. 分享两个BPM配置小技巧

    1.小技巧 流程图修改后发布的话版本号会+1,修改次数多了之后可能会导致版本号很高,这个时候可以将流程导出,然后删除对应的流程包再导入,发布数据模型和流程图之后,版本清零 2.小技巧 有的同事入职后使 ...

  5. linux系统维护时的一些小技巧,包括系统挂载新磁盘的方法!可收藏!

    这里发布一些平时所用到的小技巧,不多,不过会持续更新.... 1.需要将history创建硬链接ln 全盘需要备份硬链接 ln /etc/xxx /home/xxx 2.root用户不可以远程 /et ...

  6. JS处理事件小技巧

    今天,就分享一下我自己总结的一些JS的小技巧: ①防止鼠标选中事件 <div class="mask" onselectstart="return false&qu ...

  7. iOS:小技巧(不断更新)

    记录下一些不常用技巧,以防忘记,复制用. 1.获取当前的View在Window的frame: UIWindow * window=[[[UIApplication sharedApplication] ...

  8. css小技巧(1)

    1.-webkit-overflow-scrolling: touch; 解决ios滑动时无缓冲问题 2.::-webkit-scrollbar 设置ios滑动时是否显示滚动条 3.::selecti ...

  9. 最强 Android Studio 使用小技巧和快捷键

    写在前面 本文翻译自 Android Studio Tips by Philippe Breault,一共收集了62个 Android Studio 使用小技巧和快捷键. 根据这些小技巧的使用场景,本 ...

随机推荐

  1. 配置Log4J(转载)

    Log4J的配置文件(Configuration File)就是用来设置记录器的级别.存放器和布局的,它可接key=value格式的设置或xml格式的设置信息.通过配置,可以创建出Log4J的运行环境 ...

  2. 排序问题思考(要求时间和空间复杂度尽可能的低)【Part 2】

    继上篇博文,今天我将先介绍一下什么是计数排序,将计数排序描述清楚后,再进行后续的桶排序方法解决这个问题. 通常情况下,一提到排序,大家第一反应就是比较,其实,今天我要说的这个计数排序,不是基于比较的排 ...

  3. 高斯RBF核函数中Sigma取值和SVM分离面的影响

    1:高斯RBF核函数的定义 k(x) = exp(-x^2/(2×sigma)) 在MATLAB中输入一下代码:ezsurf('exp(-x^2/(2*sigma^2))'); 在GOOGLE中输入“ ...

  4. MySQL删除单列重复或多列同时重复值并保留一条

    在生产环境中,我们有的列是不允许出现重复值的,亦或是某两列不允许同时重复,但由于前端未做限制,或者没限制住,出现了单列重复值,或者两列本应组成唯一组合却也出现重复,这两种情况都是不允许的.现在由于前端 ...

  5. C++ 常量类型 const 详解

    1.什么是const? 常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的.(当然,我们可以偷梁换柱进行更新:) 2.为什么引入const? const 推出的初始目的 ...

  6. Firebug及YSlow简介与使用图文详解

    Firebug本是Firefox浏览器下一个出色的网页设计插件,随着浏览器的发展,Firebug也推出了支持IE.Opera.Chrome的Firebug Lite.凭借Firebug的出色代码调试功 ...

  7. MyBatis 的Mapper中有小于号的处理

    <![CDATA[ select * from person t where t.birthday < #{birthday} ]]> 也可以进行转义: < < 小于号 ...

  8. Weblogic常见故障常:JDBC Connection Pools

    http://blog.csdn.net/woshixuye/article/details/24122579 有些时候是数据库连接池出现了问题,测试的时候显示没有连接池了,重启WebLogic都不行 ...

  9. CodeForces 446B

    DZY Loves Modification time limit per test 2 seconds memory limit per test 256 megabytes input stand ...

  10. Android中的IPC机制

    Android IPC简介 IPC是Inter-Process Communication的缩写,含义就是进程间通信或者跨进程通信,是指两个进程之间进行数据交换的过程.那么什么是进程,什么是线程,进程 ...