本书是《回响式Web设计:HTML5和CSS3实战》作者Ben Frain的又一力作。作者通过丰富、完整的案例,循序渐进地展示了Sass和Compass的使用方法。既使不懂编程的设计师读完本书也能轻鬆生成跨浏览器的、易于维护的CSS代码,并学会编写media query代码,进行回响式设计。本书适合互动设计师、UI设计师、网页设计师、前端开发工程师阅读。
基本介绍
- 书名:Sass和Compass设计师指南
- 作者:Ben Frain
- 类型:艺术
- 出版日期:2014年4月25日
- 语种:简体中文
- ISBN:9787560999302, 7560999301
- 外文名:Sass and Compass for Designers
- 译者:任凯光
- 出版社:华中科技大学出版社
- 页数:272页
- 开本:16
- 品牌:华中科技大学出版社
基本介绍
内容简介
作为CSS预处理器,Sass已经成为编写更简洁、更易于维护的跨浏览器支持的CSS代码的标準方法。它是对CSS功能的进一步增强,使以往複杂费时的任务变得简单。本书是对技术社区中精华内容的提炼,内容通俗直接,使广大读者,即使是只了解HTML和CSS的读者都能轻鬆掌握相关技术。
作者简介
本·弗莱恩(Ben Frain)从1996年起就开始从事前端开发,他同时也是一名技术专栏作者,经常为很多媒体平台(Mac 平台、消费者技术、网站设计、航天工业)撰稿。
图书目录
第1章 Sass和Compass概述 7
11 为什幺需要CSS预处理器 8
111 如果最终生成的是CSS代码,为什幺不乾脆手写CSS? 9
12 为什幺应该用Sass和Compass 9
121 使用变数(每个属性值只需要定义一次) 10
理解变数语法 10
122 自动转换的RGBA颜色值 11
123 忘记浏览器前缀 12
124 嵌套规则 12
125 Media queries变得更加简单 13
126 自动压缩CSS从而实现快速建站 15
13 什幺是Sass 15
14 什幺是Compass 17
15 安装Sass和Compass 17
151 OS X系统安装方法 18
16 通过命令行安装和使用Sass和Compass 19
161 在Windows下安装Ruby 19
162 运行gem命令 19
163 Mac OS X命令安装 20
164 Windows命令行安装 21
165 检查你的Sass和Compass版本 22
166 检查有哪些Sass和Compass版本可用 23
167 安装最新版本的Sass和Compass(包括预发布版本) 23
168 从命令行创建Sass和Compass工程 24
169 命令行自动编译功能 26
17 使用图形界面软体运行Sass 和 Compass 26
171 Scout app 27
172 CodeKit 27
173 LiveReload 28
18 在文本编辑器下使用Sass档案 30
19 小结 31
第2章 创建Sass和Compass工程 33
21 创建Sass和Compass工程 34
211 创建Compass工程 35
创建定製化的Compass工程36
创建空的Compass工程37
22 理解configrb档案 38
221 添加需要的外挂程式 40
222 为工程资源设定名称和路径 40
223 设定CSS输出样式 41
嵌套输出选项 41
紧密输出方式 42
压缩输出方式 43
去掉注释,保持样式 43
压缩CSS,保持注释(凸显注释) 44
打开相对资源路径功能 44
23 创建和使用模组档案 45
231 Sass提供可维护的生产性代码 46
232 导入模组档案 48
233 Sass中书写变数的语法 49
24 Sass注释格式 50
241 标準CSS注释 50
242 Sass单行注释 50
25 基础的indexhtml档案51
26 未来工程的基础构架 52
27 总结 53
第3章 嵌套,扩展,占位符和混合宏 55
31 用Sass和Compass给网站添加样式 55
目录 9
32 从视觉上分割布局 57
33 什幺是嵌套?它是如何实现代码模组化的? 60
331 嵌套语法 60
父级选择器 64
级联选择器 65
332 使用父级选择器轻鬆添加Modernizr样式 66
给字型定义一个模组档案 67
用Modernizr和父级选择器改变字型 68
过度嵌套的危险 69
ID选择器不好? 71
333 嵌套命名空间 72
34 使用@extend命令扩展现有代码 75
35 使用占位符选择器来扩展需要的样式 77
36 什幺是混合宏?如何使用混合宏来轻鬆生成常用代码? 78
361 混合宏的基本语法 80
362 如何用默认值写混合宏 82
37 生成CSS的注意事项 85
38 总结 86
第4章 轻鬆玩转颜色 87
41 只定义一次颜色 88
42 变浅和加深函式 89
421 掌握HSL颜色标準 90
422 变浅和加深函式语法 91
43 标籤修改和转换 92
431 Compass的clearfix功能 93
44 再谈颜色 95
441 混合宏里还有混合宏?这是什幺新功能? 97
45 互补(和反色)函式 101
46 反色函式 102
47 色调调节函式 102
48 饱和函式和去饱和函式 103
49 透明化函式和渐隐函式 105
410 不透明化函式和渐现函式 106
411 灰度函式 106
412 rgba函式 107
413 混合函式 108
414 调色函式 109
415 比例调色函式 110
416 遮阴函式和增亮函式 112
417 综合利用函式 113
418 总结 114
第5章 Sass和Compass的回响式弹性格线系统 115
51 反对使用格线系统的各种说法 116
52 为什幺使用格线系统 117
53 什幺是Susy? 117
531 Susy到底是做什幺的? 118
54 安装Susy Compass外挂程式 119
55 在工程中引入Susy 120
551 Susy工程变数 120
56 创建Susy格线系统 121
57 为格线系统定义背景 122
571 显示格线背景 123
572 给Susy设定border-box属性 124
58 创建“移动”回响式格线系统 125
59 用Susy创建断点 125
510 创建流体格线系统 131
511 创建静态的“固定化”格线系统 132
512 使用Susy格线帮助工具 132
5121 Prefix、Suffix和Pad 133
5122 Prefix 133
5123 Suffix 134
5124 Pad 135
513 Pre, Post, Squish, Push和Pull 136
5131 Pre 136
5132 Post 137
5133 Squish 137
5134 Push和Pull 137
514 格线内嵌套格线 138
5141 nth-omega混合宏 139
515 子像素的四捨五入问题 142
目录 11
5151 为什幺会发生像素取整错误 143
5152 容器相对布局 143
5153 标準Susy语法及输出 143
分格混合宏 144
516 总结 146
第6章 Sass和混合宏中的高级media queries 147
61 Sass中的Media queries 148
611 使用media query模组档案分离media query样式 149
62 Sass的行内media queries 149
63 创建混合宏轻鬆处理media queries 151
631 将断点定义为变数 151
64 MQ media query混合宏是如何工作的 153
65 各种情况的套用 154
66 书写行内media queries 155
67 gzip和CSS压缩=胜利! 160
68 实际工程中行内media queries和集合media queries的区别 161
69 複习CSS代码 163
610 总结 165
第7章 Compass中的CSS3、Image Sprites等功能 167
71 用Compass混合宏轻鬆实现CSS3 168
711 文本阴影属性的语法 168
使用默认值的文本阴影 169
72 border-radius语法 170
73 複列 171
731 分列规则语法 172
732 盒子阴影混合宏 173
733 盒子阴影语法 173
734 多重盒子阴影 174
74 背景渐变 176
741 背景线性渐变语法 176
742 背景辐射渐变语法 178
743 组合渐变和背景图像 178
75 用Compass image-url帮助工具添加背景图像179
76 图像宽度和高度帮助工具 180
761 Compass快取消除功能 181
77 Compass的image sprites功能 182
771 其他sprite配置选项 185
为每个HTML选择器添加高度和宽度 185
给图像周围添加额外的内边距 185
772 布局选项 186
78 Compass文本替代混合宏 186
781 文本隐藏混合宏 186
782 Squish-text混合宏 187
783 用图像代替文本 188
79 为图像创建数据URI 189
791 行内图像语法 191
710 不支持SVG格式设备的备选方法 192
711 CSS变形功能 193
712 CSS过滤器 196
713 过渡 197
714 总结 198
第8章 Sass的编程逻辑 199
81 Sass的数学计算 200
811 加法 200
812 减法 200
713 乘法 201
814 除法 201
815 使用变数进行计算 203
82 控制命令及使用方法 203
821 @if和@else if控制命令 204
822 @for循环 205
823 计数器变数 207
824 from to和from through 207
插入功能 208
825 @each循环 209
83 给数值去除和添加单位 213
831 从数值上去除单位 213
832 给变数值添加单位 213
84 在Sass中写函式 214
841 相等操作符 215
842 关係操作符 215
843 @return 216
844 使用函式的返回结果 216
85 使用@debug命令 216
86 @warn命令 219
87 总结 219
第9章 精通Sass和Compass 221
91 关闭指定浏览器的Compass支持功能 222
911 配置支持变数 223
912 基于WebKit核心的Opera 225
92 为最新发布的CSS属性提供支持 225
93 定义最新属性值 227
94 Sass互动式shell 228
941 Compass互动 229
95 添加Sass globbing外挂程式来批量导入模组档案 229
96 创建多个独立的样式表 230
97 将模组档案转换为独立的样式表 231
98 Compass统计 231
99 清空Sass快取 233
910 一次性Compass编译 234
911 小结 234
9111 修正人为错误 234
9112 使用Lint工具发现常见问题 236
912 用工具和测试避免推断 237
9121 Chrome开发者工具 237
持续页面刷新 238
9122 查找没被使用的样式 240
913 循序渐进 242
914 总结 243
11 为什幺需要CSS预处理器 8
111 如果最终生成的是CSS代码,为什幺不乾脆手写CSS? 9
12 为什幺应该用Sass和Compass 9
121 使用变数(每个属性值只需要定义一次) 10
理解变数语法 10
122 自动转换的RGBA颜色值 11
123 忘记浏览器前缀 12
124 嵌套规则 12
125 Media queries变得更加简单 13
126 自动压缩CSS从而实现快速建站 15
13 什幺是Sass 15
14 什幺是Compass 17
15 安装Sass和Compass 17
151 OS X系统安装方法 18
16 通过命令行安装和使用Sass和Compass 19
161 在Windows下安装Ruby 19
162 运行gem命令 19
163 Mac OS X命令安装 20
164 Windows命令行安装 21
165 检查你的Sass和Compass版本 22
166 检查有哪些Sass和Compass版本可用 23
167 安装最新版本的Sass和Compass(包括预发布版本) 23
168 从命令行创建Sass和Compass工程 24
169 命令行自动编译功能 26
17 使用图形界面软体运行Sass 和 Compass 26
171 Scout app 27
172 CodeKit 27
173 LiveReload 28
18 在文本编辑器下使用Sass档案 30
19 小结 31
第2章 创建Sass和Compass工程 33
21 创建Sass和Compass工程 34
211 创建Compass工程 35
创建定製化的Compass工程36
创建空的Compass工程37
22 理解configrb档案 38
221 添加需要的外挂程式 40
222 为工程资源设定名称和路径 40
223 设定CSS输出样式 41
嵌套输出选项 41
紧密输出方式 42
压缩输出方式 43
去掉注释,保持样式 43
压缩CSS,保持注释(凸显注释) 44
打开相对资源路径功能 44
23 创建和使用模组档案 45
231 Sass提供可维护的生产性代码 46
232 导入模组档案 48
233 Sass中书写变数的语法 49
24 Sass注释格式 50
241 标準CSS注释 50
242 Sass单行注释 50
25 基础的indexhtml档案51
26 未来工程的基础构架 52
27 总结 53
第3章 嵌套,扩展,占位符和混合宏 55
31 用Sass和Compass给网站添加样式 55
目录 9
32 从视觉上分割布局 57
33 什幺是嵌套?它是如何实现代码模组化的? 60
331 嵌套语法 60
父级选择器 64
级联选择器 65
332 使用父级选择器轻鬆添加Modernizr样式 66
给字型定义一个模组档案 67
用Modernizr和父级选择器改变字型 68
过度嵌套的危险 69
ID选择器不好? 71
333 嵌套命名空间 72
34 使用@extend命令扩展现有代码 75
35 使用占位符选择器来扩展需要的样式 77
36 什幺是混合宏?如何使用混合宏来轻鬆生成常用代码? 78
361 混合宏的基本语法 80
362 如何用默认值写混合宏 82
37 生成CSS的注意事项 85
38 总结 86
第4章 轻鬆玩转颜色 87
41 只定义一次颜色 88
42 变浅和加深函式 89
421 掌握HSL颜色标準 90
422 变浅和加深函式语法 91
43 标籤修改和转换 92
431 Compass的clearfix功能 93
44 再谈颜色 95
441 混合宏里还有混合宏?这是什幺新功能? 97
45 互补(和反色)函式 101
46 反色函式 102
47 色调调节函式 102
48 饱和函式和去饱和函式 103
49 透明化函式和渐隐函式 105
410 不透明化函式和渐现函式 106
411 灰度函式 106
412 rgba函式 107
413 混合函式 108
414 调色函式 109
415 比例调色函式 110
416 遮阴函式和增亮函式 112
417 综合利用函式 113
418 总结 114
第5章 Sass和Compass的回响式弹性格线系统 115
51 反对使用格线系统的各种说法 116
52 为什幺使用格线系统 117
53 什幺是Susy? 117
531 Susy到底是做什幺的? 118
54 安装Susy Compass外挂程式 119
55 在工程中引入Susy 120
551 Susy工程变数 120
56 创建Susy格线系统 121
57 为格线系统定义背景 122
571 显示格线背景 123
572 给Susy设定border-box属性 124
58 创建“移动”回响式格线系统 125
59 用Susy创建断点 125
510 创建流体格线系统 131
511 创建静态的“固定化”格线系统 132
512 使用Susy格线帮助工具 132
5121 Prefix、Suffix和Pad 133
5122 Prefix 133
5123 Suffix 134
5124 Pad 135
513 Pre, Post, Squish, Push和Pull 136
5131 Pre 136
5132 Post 137
5133 Squish 137
5134 Push和Pull 137
514 格线内嵌套格线 138
5141 nth-omega混合宏 139
515 子像素的四捨五入问题 142
目录 11
5151 为什幺会发生像素取整错误 143
5152 容器相对布局 143
5153 标準Susy语法及输出 143
分格混合宏 144
516 总结 146
第6章 Sass和混合宏中的高级media queries 147
61 Sass中的Media queries 148
611 使用media query模组档案分离media query样式 149
62 Sass的行内media queries 149
63 创建混合宏轻鬆处理media queries 151
631 将断点定义为变数 151
64 MQ media query混合宏是如何工作的 153
65 各种情况的套用 154
66 书写行内media queries 155
67 gzip和CSS压缩=胜利! 160
68 实际工程中行内media queries和集合media queries的区别 161
69 複习CSS代码 163
610 总结 165
第7章 Compass中的CSS3、Image Sprites等功能 167
71 用Compass混合宏轻鬆实现CSS3 168
711 文本阴影属性的语法 168
使用默认值的文本阴影 169
72 border-radius语法 170
73 複列 171
731 分列规则语法 172
732 盒子阴影混合宏 173
733 盒子阴影语法 173
734 多重盒子阴影 174
74 背景渐变 176
741 背景线性渐变语法 176
742 背景辐射渐变语法 178
743 组合渐变和背景图像 178
75 用Compass image-url帮助工具添加背景图像179
76 图像宽度和高度帮助工具 180
761 Compass快取消除功能 181
77 Compass的image sprites功能 182
771 其他sprite配置选项 185
为每个HTML选择器添加高度和宽度 185
给图像周围添加额外的内边距 185
772 布局选项 186
78 Compass文本替代混合宏 186
781 文本隐藏混合宏 186
782 Squish-text混合宏 187
783 用图像代替文本 188
79 为图像创建数据URI 189
791 行内图像语法 191
710 不支持SVG格式设备的备选方法 192
711 CSS变形功能 193
712 CSS过滤器 196
713 过渡 197
714 总结 198
第8章 Sass的编程逻辑 199
81 Sass的数学计算 200
811 加法 200
812 减法 200
713 乘法 201
814 除法 201
815 使用变数进行计算 203
82 控制命令及使用方法 203
821 @if和@else if控制命令 204
822 @for循环 205
823 计数器变数 207
824 from to和from through 207
插入功能 208
825 @each循环 209
83 给数值去除和添加单位 213
831 从数值上去除单位 213
832 给变数值添加单位 213
84 在Sass中写函式 214
841 相等操作符 215
842 关係操作符 215
843 @return 216
844 使用函式的返回结果 216
85 使用@debug命令 216
86 @warn命令 219
87 总结 219
第9章 精通Sass和Compass 221
91 关闭指定浏览器的Compass支持功能 222
911 配置支持变数 223
912 基于WebKit核心的Opera 225
92 为最新发布的CSS属性提供支持 225
93 定义最新属性值 227
94 Sass互动式shell 228
941 Compass互动 229
95 添加Sass globbing外挂程式来批量导入模组档案 229
96 创建多个独立的样式表 230
97 将模组档案转换为独立的样式表 231
98 Compass统计 231
99 清空Sass快取 233
910 一次性Compass编译 234
911 小结 234
9111 修正人为错误 234
9112 使用Lint工具发现常见问题 236
912 用工具和测试避免推断 237
9121 Chrome开发者工具 237
持续页面刷新 238
9122 查找没被使用的样式 240
913 循序渐进 242
914 总结 243
序言
在过去的几年里,我设计工作中的很大一部分就是用HTML和CSS出图。渐渐地我掌握了写代码的技能,并且能通过编写或重写CSS代码迅速实现很多设计理念。因此我慢慢意识到,我需要更快、更流畅地编写代码,所以我开始寻找合适的工具来提高编写代码的效率。
回过头看,选择Sass真是一个明智的决定,如今我无法想像没有Sass光靠手写CSS代码会是什幺样的情况。它的扩展性、叠代选择器、变数、混合宏,甚至管理颜色的方式都十分好用。但是,为了精通Sass,我还是花了不少功夫的。
这就是为什幺我真的希望当初学习Sass时能拥有这本书!本·弗莱恩是一位难得的前端开发天才,他能够将複杂的概念用最简单的语言解释清楚。作为一名设计师,我能感觉到他在写这本书时的用心,站在设计师和开发人员的角度详尽解释了所有问题。我相信大家读完本书后都能感觉得到。
我希望,不,我确信,你会和我一样喜欢上这本书。
——安德鲁·克拉克(Andrew Clarke)
安德鲁·克拉克在Stuff and Nonsense任职,是一名web设计师。他是畅销书《Transcending CSS》和《Hardboiled Web Design》的作者,同时也是Unfinished Business的发起人之一。
回过头看,选择Sass真是一个明智的决定,如今我无法想像没有Sass光靠手写CSS代码会是什幺样的情况。它的扩展性、叠代选择器、变数、混合宏,甚至管理颜色的方式都十分好用。但是,为了精通Sass,我还是花了不少功夫的。
这就是为什幺我真的希望当初学习Sass时能拥有这本书!本·弗莱恩是一位难得的前端开发天才,他能够将複杂的概念用最简单的语言解释清楚。作为一名设计师,我能感觉到他在写这本书时的用心,站在设计师和开发人员的角度详尽解释了所有问题。我相信大家读完本书后都能感觉得到。
我希望,不,我确信,你会和我一样喜欢上这本书。
——安德鲁·克拉克(Andrew Clarke)
安德鲁·克拉克在Stuff and Nonsense任职,是一名web设计师。他是畅销书《Transcending CSS》和《Hardboiled Web Design》的作者,同时也是Unfinished Business的发起人之一。