Sass与Compass实战
第一部分 认识 Sass 和 Compass
第 1 章 Sass 和 Compass 让样式表
重焕青春 .............................................. 2
1.1 开始学习 Sass ............................................ 3
1.1.1 从 CSS 到 Sass ............................... 3
1.1.2 动态思维 ........................................ 4
1.1.3 别做重复劳动 ................................ 4
1.2 Sass 你好:消除样式表冗余 ..................... 4
1.2.1 通过变量来复用属性值 ................. 5
1.2.2 使用嵌套来快速写出多层级的
选择器 ............................................ 5
1.2.3 使用混合器来复用一段样式 .......... 7
1.2.4 使用选择器继承来避免重复
属性 ................................................ 9
1.3 Compass 是什么 ....................................... 11
1.3.1 Compass 库 ................................... 11
1.3.2 简单的 Compass 样式项目 ........... 12
1.3.3 社区生态系统 .............................. 13
1.4 创建一个 Compass 项目 .......................... 13
1.5 使用 Compass 解决真实的 CSS 问题 ...... 14
1.5.1 通过重置来保持样式表现一致 .... 14
1.5.2 不用计算创建布局 ....................... 17
1.5.3 通过表格辅助器为表格添加更
专业的斑马条纹样式 ................... 20
1.5.4 CSS3 属性无需再写厂商前缀 ...... 21
1.6 小结 ......................................................... 23
第 2 章 Sass 基础语法 ................................. 24
2.1 使用变量 .................................................. 25
2.1.1 变量声明 ...................................... 25
2.1.2 变量引用 ...................................... 25
2.1.3 变量名用中划线还是下划线
分隔 .............................................. 26
2.2 嵌套 CSS 规则 ......................................... 27
2.2.1 父选择器的标识符& .................... 28
2.2.2 群组选择器的嵌套 ....................... 29
2.2.3 子组合选择器和同层组合选择
器:>、 和~ ............................... 30
2.2.4 嵌套属性 ...................................... 30
2.3 导入 Sass 文件 ......................................... 31
2.3.1 使用 Sass 部分文件 ...................... 32
2.3.2 默认变量值 .................................. 33
2.3.3 嵌套导入 ...................................... 33
2.3.4 原生的 CSS 导入 ......................... 34
2.4 静默注释 .................................................. 34
2.5 混合器 ..................................................... 35
2.5.1 何时使用混合器 .......................... 36
2.5.2 混合器中的 CSS 规则 .................. 36
2.5.3 给混合器传参 .............................. 37
2.5.4 默认参数值 .................................. 38
2.6 使用选择器继承来精简 CSS ................... 38
2.6.1 何时使用继承 .............................. 39
2.6.2 继承的高级用法 .......................... 40
2.6.3 继承的工作细节 .......................... 40
2.6.4 使用继承的最佳实践 ................... 41
2.7 小结 ......................................................... 42
第二部分 在实战中使用 Sass 和 Compass
第 3 章 无需计算玩转 CSS 网格布局 ........ 44
3.1 网格布局介绍 .......................................... 44
2 目 录
3.1.1 不使用 CSS 网格布局或者不使
用网格辅助设计 ........................... 44
3.1.2 网格布局系统或框架及其工作
原理 .............................................. 44
3.1.3 使用 Sass 和 Compass 进行网
格布局 .......................................... 48
3.2 开始使用网格布局 .................................. 48
3.2.1 术语 ............................................. 48
3.2.2 是否使用网格布局,要语义还
是要实用 ...................................... 49
3.2.3 固定的网格布局还是流动的网
格布局 .......................................... 49
3.3 使用 Blueprint ......................................... 50
3.3.1 使用原生 CSS 的 Blueprint .......... 51
3.3.2 使用 Compass 应用 Blueprint ...... 52
3.3.3 使用 Compass 应用无需类名的
Blueprint ....................................... 54
3.4 使用 960 网格布局系统 ........................... 55
3.4.1 一个基本的 960 布局 ................... 57
3.4.2 在 Compass 中使用 960 网格
布局 .............................................. 58
3.5 通过 Compass 处理垂直韵律 .................. 60
3.5.1 确定基线 ...................................... 62
3.5.2 前置和后置留白 .......................... 65
3.6 小结 ......................................................... 65
第 4 章 有 Compass 就不再枯燥 ............... 66
4.1 一张更好的白纸源自有针对性的样式
重置 ......................................................... 66
4.1.1 全局样式重置 .............................. 66
4.1.2 通过有针对性的样式重置进行
更多控制 ...................................... 68
4.2 更快更直观的排版工具 ........................... 69
4.2.1 起锚远航:链接辅助工具 ........... 69
4.2.2 创建各种各样的列表 ................... 71
4.2.3 用辅助工具征服文字 ................... 75
4.3 布局辅助工具 .......................................... 77
4.3.1 粘滞的页脚 .................................. 77
4.3.2 可伸展元素 .................................. 78
4.4 小结 ......................................................... 79
第 5 章 通过 Compass 使用 CSS3 ........... 80
5.1 什么是 CSS3 ........................................... 80
5.1.1 新属性:浏览器前缀让你烦透
了吧 ............................................. 80
5.1.2 让 Compass 拯救你 ...................... 81
5.2 通过 Compass 使用 CSS3 ........................ 82
5.2.1 圆角 ............................................. 82
5.2.2 CSS3 阴影 .................................... 83
5.2.3 颜色渐变 ...................................... 88
5.2.4 用@font-face 嵌入字体 ......... 90
5.3 通过 CSS PIE 支持 IE ............................. 91
5.4 小结 ......................................................... 94
第三部分 来到生产环境
第 6 章 精灵 .................................................... 96
6.1 精灵的工作原理 ...................................... 96
6.2 精灵的必要性 .......................................... 97
6.2.1 HTTP 请求越少越好 .................... 98
6.2.2 手动处理是一种折磨 ................... 98
6.2.3 Compass 的方案 .......................... 99
6.3 用 Compass 制作精灵 ........................... 100
6.3.1 创建一个精灵地图 .................... 100
6.3.2 生成精灵的 CSS ........................ 101
6.4 配置 Compass 精灵 ............................... 103
6.4.1 自定义精灵地图 ........................ 103
6.4.2 自定义精灵的 CSS .................... 106
6.5 驾驭精灵辅助器 .................................... 109
6.5.1 创建精灵地图 ............................ 109
6.5.2 撰写精灵的 CSS ........................ 110
6.6 小结 ....................................................... 112
第 7 章 从原型到产品 ................................. 113
7.1 绝对 URL .............................................. 114
7.1.1 生成 URL 资源 .......................... 114
7.1.2 避免出现死链 ............................ 115
7.1.3 通过缓存清理避免旧图片 ......... 116
7.2 用 Sass 和 Compass 做原型 ................... 117
7.2.1 简化你的开发环境 .................... 118
7.2.2 直接在浏览器里设计 ................. 119
目 录 3
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
18
17
7.3 发布成产品 ............................................ 120
7.3.1 想不到吧!该挪窝了 ................. 120
7.3.2 为生产环境编译 ......................... 120
7.3.3 生成相对于域名的资源 ............. 121
7.3.4 添加版权提示 ............................ 122
7.3.5 发布 CSS 很简单 ........................ 122
7.3.6 跟源码控制、发布流程配合在
一起 ............................................ 123
7.3.7 和预发服务器一起工作 ............. 124
7.4 小结 ....................................................... 125
第 8 章 高性能式样表 ................................. 126
8.1 测量客户端性能 .................................... 126
8.2 回避带有服务器端@import 的 HTTP
请求 ........................................................ 128
8.3 用压缩减少传输时间 ............................. 130
8.3.1 gzip 压缩 .................................... 130
8.3.2 图片压缩 .................................... 131
8.4 用资源托管提高页面加载速度 ............. 131
8.4.1 使用资源托管生成 URL ............ 132
8.4.2 避免内容警告和基于域的资源
相混合 ........................................ 132
8.5 内联 data URI ........................................ 133
8.6 选择器性能 ............................................ 134
8.6.1 积少成多的问题 ......................... 135
8.6.2 过分嵌套的危险 ......................... 135
8.7 小结 ....................................................... 136
第四部分 高级 Sass 和 Compass
第 9 章 用 Sass 编写脚本 .......................... 138
9.1 使用表达式 ............................................ 139
9.2 理解数据类型 ........................................ 139
9.2.1 字符串和名字 ............................ 140
9.2.2 数值 ............................................ 141
9.2.3 颜色 ............................................ 142
9.2.4 列表 ............................................ 142
9.2.5 布尔值 ........................................ 143
9.3 函数 ....................................................... 143
9.3.1 数值函数 .................................... 144
9.3.2 颜色函数 .................................... 145
9.3.3 列表函数 .................................... 147
9.3.4 其他 Sass 函数 ........................... 147
9.3.5 用户自定义函数 ........................ 147
9.4 在选择器和属性名中使用表达式 ......... 148
9.5 控制指令 ................................................ 149
9.5.1 对数字重复样式 ........................ 150
9.5.2 对列表重复样式 ........................ 150
9.5.3 条件样式 .................................... 151
9.6 小结 ....................................................... 152
第 10 章 创建并分享一个Compass
扩展 ................................................ 153
10.1 分享和重用样式表 .............................. 153
10.1.1 Sass 比 CSS 更容易分享 ........ 153
10.1.2 分享 Sass ................................ 154
10.1.3 分享 Sass 是远远不够的 ........ 155
10.1.4 为什么使用 Compass 扩
展 ........................................... 155
10.2 一个简单的扩展 .................................. 155
10.2.1 安装 ad hoc 扩展 .................... 156
10.2.2 测试你的扩展 ........................ 156
10.3 创建扩展演示项目 .............................. 157
10.4 编写高级扩展 ...................................... 159
10.4.1 自动化完成困难的部分 ......... 160
10.4.2 重构你的扩展 ........................ 164
10.5 创建一个模板 ...................................... 167
10.6 分发扩展 .............................................. 169
10.6.1 在存档中分发扩展 ................. 169
10.6.2 将扩展作为 Ruby gem
分发 ........................................ 169
10.6.3 在 Github 上进行代码社交 .... 172
10.7 小结 ..................................................... 173
附录 A 安装 Sass 和 Compass ................ 174
附录 B 开始使用 Compass ....................... 179
附录 C Sass 语法 ........................................ 185
评论