原文地址:这里

@charset "UTF-8";

/**
* 自定义变量
*/
$blue: #1875e7;
div {
color: $blue;
} /**
* 变量要嵌在字符串中间
*/
$side: left;
.rounded{
border-#{$side}-radius: 5px;
} /**
* 计算
*/
$unit: .05rem; .box{
height: $unit / 2;
width: 10 * $unit;
} /**
* 标签嵌套
*/
.parent{
background: #fff;
.child{
font-size: 12px;
}
} /**
* 属性嵌套
*/
p{
border: {
color: red;
width: 1px;
}
} /**
* 伪类
*/
a{
&:hover {
color: red;
}
} /**
* 注释
*
* // 单行注释编译后删除
* ** 多行注释编译后保留
*/ /**
* 继承
*/
.class1{
border: 1px solid #ddd;
}
.class2{
@extend .class1;
font-size: 12px;
}
.class3{
@extend .class1;
border-color: red;
} /**
* mixin 复用代码块
* 如果不需要传参数,可以不带括号
*/
@mixin left{
float: left;
margin-left: 10px;
}
.someclass{
@include left;
} /**
* mixin 可以指定参数和缺省值,就像函数了
*/
@mixin left($value: 10px){
float: left;
margin-left: $value;
}
.someclass2{
@include left(20px);
} /**
* 颜色函数
*/
.color1{
color: lighten(#cc3, 10%);
/**
* 浅 10%
* #d6d65c
*/
}
.color2{
color: darken(#cc3, 10%);
/**
* 深 10%
* #a3a329
*/
}
.color3{
color: grayscale(#cc3);
/**
* 将颜色转化为灰度
* #808080
*
* 怎么计算的?
* (cc + 33) / 2 = 80
*/
background: grayscale(#c03);
/**
* 这个算出来是 #666666
* 那就是。。
* (cc + 00) / 2 = 66
*/
border-color: grayscale(#c30);
/**
* 那来看看这个,会有区别吗?
* #666666
*/
background-color: grayscale(#03c);
/**
* #666666
* 好吧。。
*
* 查了文档,等同于 desaturate($color, 100%),将色彩饱和度调至0
* #cc3 -> hsl(60, 60%, 50%);
* #c03 -> hsl(345, 100%, 40%);
* #c30 -> hsl(15, 100%, 40%);
* #03c -> hsl(225, 100%, 40%);
*
* H(色上) S(饱和度) L(明度)
* S 为 0 时,RGB 都为 L
* 256 * 50% = 128 -> 80
* 256 * 40% = 102 -> 66
*/
}
.color4{
color: complement(#cc3);
/**
* 反象
* #33c
*/
} /**
* 插入文件
* 注:会插到本文件头部
*/
@import "reset.css"; /**
* 再试一下,如果出现两个相同的选择器,会合并到一起吗?
* 不会合并,定义几处,翻译后还是几处
*/
div{
background: #fff;
}
.color4{
background: #fff;
} /**
* 高级用法
*/ /**
* 条件语句
*/
p {
@if 1 + 1 == 2 { border: 1px solid; }
@if 5 < 3 { border: 2px dotted; }
}
p {
@if 1 + 1 == 2 {
background-color: #000;
} @else {
background-color: #fff;
}
} /**
* 循环语句
*/
@for $i from 1 to 10 {
.border-#{$i} {
border: #{$i}px solid blue;
}
} $i: 6;
@while $i > 0{
.item-#{$i} {
width: 2em * $i;
}
$i: $i - 2;
} @each $member in a, b, c, d{
.#{$member}{
background-image: url("/images/#{$member}.jpg");
}
} /**
* 自定义函数
*/
@function double($n){
@return $n * 2;
}
#sidebar {
width: double(5px);
} $unit: .05rem;
@function unit($value){
@return $unit * $value;
}
#sidebar {
width: unit(720);
} /**
* 修改单位,只影响后面的 css
*/
$unit: 1px;
#sidebar {
width: unit(720);
}

  

SASS常用语法的更多相关文章

  1. Markdown通用的常用语法说明

    前言 Markdown 是一种轻量级的 标记语言,语法简洁明了.学习容易,还具有其他很多优点,目前被越来越多的人用来写作使用. Markdown具有一系列衍生版本,用于扩展Markdown的功能(如表 ...

  2. Markdown简介以及常用语法

    Markdown简介以及常用语法 最近发现用markdown记录东西很方便,感觉和emacs的org mode很类似,但是windows下使用emacs不是很方便.特此记录一下markdown常用的语 ...

  3. Sql常用语法以及名词解释

    Sql常用语法以及名词解释 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) D ...

  4. Markdown常用语法

    什么是Markdown Markdown 是一种方便记忆.书写的纯文本标记语言,用户可以使用这些标记符号以最小的输入代价生成极富表现力的文档. 通过Markdown简单的语法,就可以使普通文本内容具有 ...

  5. 2 hive的使用 + hive的常用语法

    本博文的主要内容有: .hive的常用语法 .内部表 .外部表 .内部表,被drop掉,会发生什么? .外部表,被drop掉,会发生什么? .内部表和外部表的,保存的路径在哪? .用于创建一些临时表存 ...

  6. sql 常用语法汇总

    Sql常用语法 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控 ...

  7. ES6常用语法

    ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015. 也就是说,ES6就是ES2015. ...

  8. python MVC、MTV 框架介绍 Django 模板系统常用语法

    Django 框架简介一.MVC框架和MTV框架1.MVC 全名Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分.优势: 耦合性低 重用性高 生命 ...

  9. PHP中Smarty引擎的常用语法

    PHP中Smarty引擎的常用语法 输出今天的日期: {$smarty.now|date_format:"%H:%M %A, %B %e, %Y"} 实际上用到了PHP的time( ...

随机推荐

  1. [ 原创 ] Centos7.6安装Mysql5.7

    https://blog.csdn.net/shj_php/article/details/86712408 CentOS7下安装MySQL5.7安装与配置(YUM) http://blog.csdn ...

  2. ubuntu10.4搭建eclipse for c++环境

    以下操作:经过验证,安装完成后,使用eclipse建立C++工程,直接编译就能运行了:说明:(1)不建议使用下载eclipse for java版本和CDT的方式来搭建环境,因为我没有安装成功:(2) ...

  3. GCC&&GDB在OI中的介绍

    序言 这本来是用Word写的,但是后来我换了系统所以只能用markdown迁移然后写了...... $\qquad$本文主要投食给那些在Windows下活了很久然后考试时发现需要用命令行来操作时困惑万 ...

  4. 关于WEB前端开发的工具

    俗话说:"工谷善其事,先必利其器."一个用得顺手的工具,确实能为我们的开发带来方 便,更重要的是会让我们更加享受工具开发过程中所带来的乐趣. 1.编码工具: 记事本之类的编辑器都可 ...

  5. C# 调用windows api 操作鼠标、键盘、窗体合集...更新中

    鼠标操作window窗体合集...更新中 1.根据句柄查找窗体 引自http://www.2cto.com/kf/201410/343342.html 使用SPY++工具获取窗体   首先打开spy+ ...

  6. spring cloud: 使用consul来替换eureka

    eureka官方已经正式宣布:自2.0起不再维护该项目,并在github 项目wiki上放出了一段吓唬人的话: 大意就是:从2.x起,官方不会继续开发了,如果需要使用2.x,风险自负.但其实我觉得问题 ...

  7. SIGALRM信号和SIGCHID信号

    在进行堵塞式系统调用时.为避免进程陷入无限期的等待,能够为这些堵塞式系统调用设置定时器.Linux提供了alarm系统调用和SIGALRM信号实现这个功能. 要使用定时器.首先要安装SIGALRM信号 ...

  8. Revit API创建标注NewTag

    start ;             )                 {                     eId = item;                 }            ...

  9. [Asp.net core]bootstrap分页

    摘要 一直在用前后端分离,在一个后台管理的页面中,尝试封装了一个辅助类. 类 /// <summary> /// 分页viewmodel /// </summary> /// ...

  10. 如何在windows2008/2012上安装启明星系统。

    启明星系统提供多种安装方式.安装包里自带了setup.exe.每个程序的 install下有在线安装(例如请假应用程序为book,则默认为 http://localhost/book/install ...