具体描述
《响应式Web》全面介绍了响应式设计的概念以及技术技巧,由浅入深地讲解了其中原理性的知识。第1部分从开发者和设计师的角度介绍了响应式设计的基本概念。第2部分从开发者与设计师协作的角度介绍了如何进行响应式设计。第3部分对编码技巧和实战优化进行了介绍。
响应式设计是一种新的设计理念,需要你不断地学习、探索、实践。它会让你的网页内容在不同设备上展现得更加精彩。
作者简介
Matthew Carver 是一名技术专家、演讲者、作者和提倡设计和技术相融合的顾问。他是响应式Web 设计早期的拥护者,曾参与过American Airlines、Dallas MomoingNews、Chobani、Home Depot 和Google 等公司的给生活带来革新的项目。Matthew最初在德克萨斯州达拉斯市的Richards Group 工作,现在与他的伙伴一同在纽约市成立了一家数字公司,他们会把一些想法发布到线上。他的个人主页为 Matthew-Carver.com,Twitter 账号是@matthew_carver。
王鹤,系统架构设计师,吉他手。从事过JavaEE的企业应用的研发和架构工作,一直关注HTML5技术的发展,2011年至今一直维护开源图表项目ichartjs。目前就职于美团网,任职前端技术专家,秉承的信念是“技术这条路上虽然崎岖,但值得坚持”。
罗创杰,美团网研发工程师,专注于前端领域,喜欢从容不迫地写代码——很优雅的那种。
目录信息
1 开启响应式之路 ..........3
1.1 初探响应式Web ................................... 5
1.1.1 什么是响应式 Web .................. 5
1.1.2 关键特性 .................................. 8
1.2 构建第一个响应式网站 .................... 10
1.2.1 创建网站原型 ........................ 11
1.3 响应式布局基础 ................................ 18
1.3.1 移动优先标签 ........................ 19
1.3.2 在 CSS中使用百分比 ........... 24
1.3.3 添加文本和图像 .................... 28
1.3.4 强大易变的 em ...................... 30
1.3.5 设置第一个断点 .................... 33
1.4 总结 ...................................... 34
1.5 讨论的观点 ................................ 35
2 移动优先的设计 ........ 37
2.1 为何选择移动优先设计 .................... 38
2.1.1 移动优先设计的优点 ............ 39
2.1.2 移动优先设计的挑战 ............ 40
2.2 为小屏幕设计头部 ............................ 42
2.2.1 创建头部 ................................ 42
2.3 设计触屏界面交互 ............................ 44
2.3.1 简约的小屏幕网格 ................ 45
2.4 为小屏幕设计内容 ............................ 47
2.4.1 在布局中使用 Web字体 ....... 48
2.5 总结 .................................. 51
2.6 讨论的观点 ............................. 51
第2部分 响应式Web设计之旅
3 使用样式板表达设计.. 55
3.1 利用设计指南进行可视化设计 ........ 56
3.1.1 设计指南是什么 .................... 57
3.1.2 开发一个设计指南 ................ 58
3.1.3 样式板:创建一种视觉语言 59
3.2 如何创建一个样式板 ........................ 60
3.2.1 获得反馈 ................................ 61
3.2.2 设计样式板 ............................ 61
3.2.3 创建样式板 ............................ 63
3.2.4 利用样式板进行迭代设计 .... 68
3.3 模型之死 ........................... 69
3.4 总结 ...................................... 70
3.5 讨论的观点 ............................ 70
4 响应式用户体验设计模式 ....................... 71
4.1 一级导航 ............................................ 73
4.1.1 toggle导航模式 ..................... 74
4.1.2 select menu导航模式 ............ 79
4.1.3 toggle导航和 select menu导航的比较 .............. 81
4.2 多级toggle导航 ................................ 82
4.3 响应式用户体验设计模式资源 ........ 87
4.4 总结 .................................................... 87
4.5 讨论的观点 ........................................ 88
5 响应式布局............... 89
5.1 利用百分比进行流式布局 ................ 90
5.1.1 CSS中的百分比是如何工作的 ...................... 90
5.1.2 box-sizing ............................... 94
5.1.3 流式网格系统 ........................ 97
5.2 构建一个流式布局 .......................... 101
5.2.1 解读原型 .............................. 101
5.2.2 开始编码 .............................. 102
5.2.3 让 off-canvas元素动起来 ... 105
5.2.4 使元素具有响应性 .............. 106
5.2.5 拓展到更宽的视图 .............. 109
5.3 总结 .................................... 110
5.4 讨论的观点 ...................................... 110
6 添加内容模块和排版.113
6.1 添加内容模块 .................................. 115
6.1.1 创建有用的内容占位符 ...... 116
6.2 响应式设计中的排版 ...................... 121
6.2.1 嵌入式字体 .......................... 121
6.2.2 设置一个排版基础 .............. 123
6.3 总结 ..................................... 126
6.4 讨论的观点 ...................................... 126
第3部分 用代码来延伸设计
7 用CSS在浏览器中增加图形......................129
7.1 利用CSS实现设计 ........................... 130
7.1.1 CSS基础 .............................. 131
7.1.2 在流体结构中维持比例 ...... 133
7.2 在你的设计中使用icon字体 ........... 136
7.2.1 在用户界面中使用雪碧图 .. 137
7.2.2 基于字体的用户界面图形 .. 138
7.3 使用可缩放矢量图形 ...................... 140
7.3.1 为页面添加 SVG图像 ........ 141
7.3.2 用 CSS实现 SVG ................ 144
7.3.3 SVG格式的局限性 ............. 146
7.4 总结 .................................. 147
7.5 讨论的观点 ...................................... 148
8 渐进增强和Modernizr的过时控制....................149
8.1 技术性过时 ...................................... 150
8.1.1 渐进增强 .............................. 150
8.1.2 优雅降级 .............................. 154
8.2 Modernizr是什么 ............................. 155
8.2.1 初始化 Modernizr ................ 157
8.2.2 利用 Modernizr写跨浏览器的 CSS ..................... 159
8.3 用Modernizr进行JavaScript特性检测 .................. 162
8.3.1 检测触摸能力 ...................... 163
8.3.2 使用 Modernizr.load和 yepnope ....................... 164
8.3.3 创建定制的 Modernizr测试 ............................. 165
8.4 在网站中添加Modernizr ................. 166
8.5 总结 ........................................ 169
8.6 讨论的观点 ...................................... 170
9 响应式网站的测试和优化 ..........................171
9.1 什么是响应式测试 .......................... 172
9.1.1 模拟测试环境 ...................... 172
9.2 用于测试的浏览器工具 .................. 176
9.3 使用Web审查器 ............................... 177
9.3.1 掌握 Web审查器 ................. 178
9.4 降低请求时间的技巧 ...................... 182
9.4.1 减少 HTTP请求 .................. 183
9.4.2 用 Base64编码减少图片请求 ...................... 184
9.4.3 加载速度的优化清单 .......... 184
9.5 总结 ................................. 186
9.6 讨论的观点 ................................. 186
附录A 设计中的上下文感知计算 .......................187
A.1 移动应用中的上下文感知 ............. 188
A.2 Web中的上下文感知 ...................... 189
A.2.1 上下文断点 ........................ 190
A.2.2 创建上下文测试 ................ 192
A.2.3 CSS上下文 ........................ 195
A.3 总结 .................................. 196
附录B Foundation框架
(可在www.manning.com/TheResponsiveWeb获取。)
· · · · · · (收起)
读后感
用户评价
这本书的排版和装帧真是令人眼前一亮,那种沉甸甸的质感,翻开书页时散发出的油墨香气,一下子就让人感觉物有所值。我特别喜欢它封面那种简洁却又不失设计感的处理,虽然我不是设计专业的,但那种恰到好处的留白和字体选择,确实能让人在众多书籍中一眼就注意到它。内页的纸张选择了略带米黄色的那种,阅读起来眼睛非常舒服,长时间盯着看也不会有那种刺眼的疲惫感。更值得称赞的是,作者在章节标题和引言的处理上花了不少心思,每一个标题都像是一个小小的悬念,勾起你继续阅读的欲望。而且,每章的开头都会有一个引人入胜的小故事或者一个深刻的哲学思考,让你在进入正题之前,就已经对即将学习的内容有了一个宏观的理解和情感上的连接。比如,第一部分关于信息架构的那一章,作者没有直接抛出枯燥的理论,而是从一个古代图书馆的布局演变讲起,将复杂的概念融入到历史的脉络中,读起来一点也不觉得枯燥,反而像是在听一位知识渊博的长者娓娓道来。这种对阅读体验的极致追求,让这本书不仅仅是一本工具书,更像是一件值得收藏的艺术品。我甚至会特意在阅读的时候,为它配上一杯热茶,享受这份难得的沉浸感。
这本书的语言风格非常具有个人特色,用词精准,但又带着一种近乎诗意的流畅感。我发现自己经常会不自觉地停下来,回味某一个精心构造的句子。例如,作者描述复杂系统反馈循环时,用到了“如同多维的镜厅中,每一次反射都携带着过去的回响与未来的暗示”这样的比喻,一下子就把抽象的数学模型具象化了,那种画面感极强。与那些充斥着大量生硬术语和佶屈聱牙的教科书相比,这本书更像是一场高水平的对话。作者似乎总能找到最恰当的比喻,将晦涩难懂的技术点,转化成普通人也能理解的场景。我有个朋友,他对技术概念接受起来比较慢,但当我们一起讨论这本书的内容时,他竟然能迅速抓住核心,这都归功于作者这种化繁为简的叙事能力。此外,作者对于细节的把握也达到了偏执的程度,无论是对历史背景的考据,还是对特定工具的用法描述,都做到了近乎完美的准确性。读起来,你不会有任何“这部分是不是可以略过”的感觉,因为每一个段落似乎都在为最终的论点添砖加瓦。
坦白说,我最初是冲着作者在业界的名声来的,但读完这本书,我才明白名声只是一个敲门砖,真正让我震撼的是其内容逻辑的严密性和知识覆盖面的广度。它绝不仅仅停留在基础概念的罗列上,而是深入到了很多业界前沿、鲜有公开探讨的“灰色地带”。举个例子,关于用户行为预测模型的部分,作者居然引用了最新的认知心理学研究成果来佐证某些设计决策的合理性,这种跨学科的整合能力,简直让人拍案叫绝。我过去读过不少相关书籍,很多都是在重复一些人尽皆知的“最佳实践”,读完后总觉得意犹未尽,仿佛只学到了皮毛。但这本书不同,它挑战了许多既定的观念,提出了许多需要深度思考的反问句,迫使你跳出舒适区,重新审视你手中正在进行的项目。我尤其欣赏作者在讨论“失败案例分析”时的坦诚与深刻。他没有一味地歌颂成功,而是毫不留情地剖析了那些看似成功,实则埋下了巨大隐患的设计决策,并清晰地指出了技术债务和美学陷阱是如何一步步侵蚀最终产品的。这种近乎“祛魅”的写作风格,对于任何希望在职业生涯中走得更远的人来说,都是一剂清醒剂。
我是在一个非常忙碌的时期开始阅读这本书的,本以为要花很长时间才能啃完,但出乎意料的是,它极大地提升了我的阅读效率。这得益于它独特的章节组织结构。这本书似乎故意避免了传统教材那种线性推进的沉闷感。它采用了模块化的设计,每个章节的独立性很高,但同时又通过巧妙的交叉引用构建了一个复杂的知识网络。这意味着,如果你对某个特定主题(比如交互动画的心理学基础)特别感兴趣,你可以直接切入那一章,并获得足够深入的理解,而不会被其他不相关的内容打断。更妙的是,在章节的末尾,作者总会设置一个“延伸阅读清单”,这个清单的质量高得惊人,里面推荐的书籍、论文和开源项目,很多是我在其他地方从未听闻过的“宝藏资源”。这极大地拓宽了我的知识边界,让我感觉这本书不仅仅是一个知识的终点,更像是一个通往更广阔学术领域的入口。我个人非常欣赏这种“授人以渔”的教育理念,它培养的不是知识的被动接收者,而是主动的探索者。
这本书的价值不仅体现在它的理论深度上,更在于它对未来趋势的敏锐洞察和前瞻性指导。许多关于技术发展的书籍,一旦出版,很快就会因为行业迭代而显得滞后。然而,我发现这本书在讨论当前热门技术的同时,总能穿插一些对未来五年、十年行业可能走向的深思熟虑的预测。作者没有盲目跟风炒作那些短期热点,而是着眼于底层逻辑和长期演化的规律。比如,在讨论数据隐私和用户信任构建时,作者提出的框架至今看来都具有极强的生命力,甚至比现在很多最新的行业规范讨论还要超前。我能感受到作者在撰写时,那种对行业未来负起责任的厚重感。阅读这本书,就像是获得了一张通往未来蓝图的导航图,它让你在面对快速变化的环境时,不再感到迷茫和焦虑,而是能够坚定地站在一个更宏观、更具战略性的高度上去规划自己的每一步。它赋予读者的,不仅仅是技能,更是一种面对不确定性的战略定力。