第1章 移动设备概述 0
1.1 触摸设备和桌面设备之间的差异 2
1.2 广泛使用的设备 3
1.3 HTML 56
1.4 神秘谷,是什么让触摸界面反应灵敏? 7
1.5 总结 9
第2章 创建一个简单的内容型网站 10
2.1 选择一个观念:移动优先或置后 12
2.2 创建标记 13
2.3 奠定基础的标签 15
2.4 理解 Viewport 15
2.5 响应式的CSS 19
2.6 总结 24
第3章 提高第一次加载的速度 25
3.1 浏览器是如何加载页面的 27
3.2 为什么页面加载缓慢? 27
3.3 用YSlow和PageSpeed提升速度 30
3.4 解决常见的问题 33
3.5 将它们全部放在一起 41
3.6 总结 41
第4章 加快下一次访问的速度 42
4.1 在HTTP中缓存 44
4.2 为移动优化45
4.3 使用网络存储(Web Storage) 46
4.4 应用缓存(Application Cache) 53
4.5 总结 57
第5章 使用PJAX提升触摸体验 58
5.1 页面加载的代价 60
5.2 浏览器历史API 62
5.3 添加PJAX 69
5.4 总结 77
第6章 轻触VS单击:基本的事件处理 78
6.1 是什么让轻触不同? 80
6.2 触摸事件简介 80
6.3 处理轻触 83
6.4 总结 89
6.5 项目 89
第7章 CSS过渡、动画和变换 90
7.1 动画元素 92
7.2 CSS变换 105
7.3 总结 112
7.4 项目 112
第8章 JavaScript性能最优化 113
8.1 性能测试和调试 115
8.2 只写入DOM 116
8.3 给用户反馈的优先级是最高的 117
8.4 将它们一起使用:无限滚动 118
8.5 总结 127
8.6 项目 127
第9章 手势的基本内容 128
9.1 为什么用手势呢? 130
9.2 创建一个循序渐进增强的触摸控制 131
9.3 创建一个触摸控制的灯箱(lightbox) 136
9.4 总结 150
9.5 项目 150
第10章 滚动与滑动 151
10.1 滚动 153
10.2 布局失效 159
10.3 让鸟类浏览工具可滑动 161
10.4 总结 176
10.5 项目 177
第11章 双指缩放和其他复杂的手势 178
11.1 了解多点触摸的限制和支持情况 180
11.2 处理多点触摸 180
11.3 处理双指缩放 185
11.4 总结 195
11.5 项目 195