保持sass条理性和可读性的最基本的三个方法:嵌套、导入和注释
一般情况下,你反复声明一个变量,只有最后一处声明有效且它会覆盖前边的值。
$link-color: blue;
$link-color: red;
a {
color: $link-color;
}
最终编译成为红色
---------------------------------
& 在编译时将被替换为父选择符,如果你有一个深层嵌套的规则,父选择符也会在 & 被替换之前被完整的解析。
#main {
color: black;
a {
font-weight: bold;
&:hover { color: red; }
}
}
---------------------------------
被编译为:
#main {
color: black; }
#main a {
font-weight: bold; }
#main a:hover {
color: red; }
---------------------------------
声明:$width: 5em;
#main {
width: $width;
}
---------------------------------
数据类型
SassScript 支持六种主要的数据类型:
数字(例如 1.2、4、6px)
文本字符串,无论是否有引号(例如 "bob"、'wow'、seo)
颜色(例如 blue、#000、rgba(0, 0, 0, 0.8))
布尔值(例如 true、false)
空值(例如 null)
值列表,用空格或逗号分隔(例如 1em 2em 3rem 4em、Helvetica, Arial, sans-serif)
SassScript 还支持所有其他 CSS 属性值类型, 例如 Unicode 范围和 !important 声明。 然而,它不会对这些类型做特殊处理。 它们只会被当做不带引号的字符串看待。
---------------------------------
CSS 提供了两种类型的字符串:带引号的字符串,不带引号的字符串,使用#{}插值时,引用的字符串不加引号。这使得在mixin中使用例如选择器名称更容易
@mixin firefox-message($selector) {
body.firefox #{$selector}:before {
content: "Hi, Firefox users!";
}
} @include firefox-message(".header");
---------------------------------
被编译为:
body.firefox .header:before {
content: "Hi, Firefox users!"; }
---------------------------------
继承:
.class1 {
  border: 1px solid #ddd;
}
.class2 {
    @extend .class1;
    font-size:120%;
  }
---------------------------------
Mixin有点像C语言的宏(macro),是可以重用的代码块
使用@include命令,调用这个mixin。
mixin的强大之处,在于可以指定参数和缺省值。

@mixin left {
    float: left;
    margin-left: 10px;
  } div {
    @include left;
  } @mixin left($value: 10px) {
    float: left;
    margin-right: $value;
  }
---------------------------------
默认变量值;
不同的是!default用于变量,含义是:如果这个变量被声明赋值了,那就用它声明的值,否则就用这个默认值。

$textbox-width: 400px !default;
.textbox {
  width: $textbox-width;
}

最新文章

  1. px4flow通过iic读取具体寄存器数据程序
  2. iOS runtime的理解和应用
  3. objective-c系列-NSArray
  4. 闹钟--alarmManager
  5. [转]了解oracle自治事务
  6. PK投票效果
  7. Emoji字符检查与替换
  8. NET Web开发
  9. 尽量不用char*作为hash_map的key
  10. 40个Java多线程问题
  11. 博弈论进阶之Every-SG
  12. jquery 第四章
  13. [转]bitcoin API reference (JSON-RPC)
  14. Date对象设置一天的0点
  15. activity 与 service 之间的通信
  16. hbase权威指南阅读随手笔记二之过滤器
  17. 【日志】修改redis日志路径
  18. WCF-绑定模型(一)
  19. FZU 2122 ——又见LKity——————【KMP字符串匹配】
  20. ASP.NET向MySQL写入中文的乱码问题-.NET技术/C#

热门文章

  1. linux 监控进程所消耗的资源(内存),达到阈值(绝对值、相对值)后,将其杀死
  2. ABAP WEBRFC
  3. YTU 1010: 目标柏林
  4. webstorm使用帮助(转自http://my.oschina.net/longteng2013/blog/138010),另外有部分内容摘自其它人博客
  5. 查看html元素绑定的事件与方法 visual Event 插件
  6. VS2012上添加SharePoint2013模板,SharePoint2013 Tool安装配置
  7. ContextLoaderListener与RequestContextListener配置问题
  8. SqlSugar解决SQLite访问的问题:Unable to load DLL 'SQLite.Interop.dll'
  9. silverlight 子UserControl获取父UserControl
  10. E20170518-hm