目 錄
第一部分 認識新語言
第1章 HTML5簡介 2
1.1 HTML5的故事 2
1.1.1 XHTML 1.0:更嚴格的標準 2
1.1.2 XHTML 2:意想不到的失敗 3
1.1.3 HTML5:起死迴生 3
1.1.4 HTML:活著的語言 5
1.2 HTML5的三個主要原理 6
1.2.1 不破壞Web 6
1.2.2 修補牛蹄子路 7
1.2.3 實用至上 8
1.3 HTML5標記初體驗 8
1.3.1 HTML5文檔類型 10
1.3.2 字符編碼 11
1.3.3 頁麵語言 11
1.3.4 添加樣式錶 12
1.3.5 添加JavaScript 12
1.3.6 最終結果 13
1.4 HTML5語法 13
1.4.1 放鬆的規則 14
1.4.2 HTML5驗證 15
1.4.3 XHTML的迴歸 17
1.5 HTML5元素傢族 18
1.5.1 新增的元素 18
1.5.2 刪除的元素 18
1.5.3 改變的元素 19
1.5.4 調整的元素 20
1.5.5 標準化的元素 21
1.6 今天開始用HTML5 22
1.6.1 瞭解瀏覽器支持情況 23
1.6.2 瀏覽器裝機情況統計 24
1.6.3 通過Modernizr檢測功能 26
1.6.4 使用“膩子腳本”填補功能
缺陷 28
第2章 構造網頁的新方式 30
2.1 語義元素 30
2.2 改造傳統的HTML頁麵 32
2.2.1 構造頁麵的老辦法 32
2.2.2 使用HTML5構造頁麵 36
2.2.3 用<hgroup>標注副標題 39
2.2.4 用<figure>添加插圖 40
2.2.5 用<aside>添加附注 42
2.3 瀏覽器對語義元素的支持情況 43
2.4 使用語義元素設計站點 45
2.4.1 理解<header> 46
2.4.2 用<nav>標注導航鏈接 48
2.4.3 理解<footer> 52
2.4.4 理解區塊 54
2.5 HTML5綱要 55
2.5.1 如何查看綱要 55
2.5.2 基本綱要 56
2.5.3 分塊元素 58
2.5.4 解決一個綱要問題 60
第3章 有意義的標記 64
3.1 迴顧語義元素 64
3.1.1 使用<time>標注日期和時間 65
3.1.2 使用<output>標注JavaScript返
迴值 66
3.1.3 使用<mark>標注突顯文本 68
3.2 其他語義標準 69
3.2.1 ARIA 70
3.2.2 RDFa 71
3.2.3 Microformats 71
3.2.4 Microdata 76
3.3 Google Rich Snippets 79
3.3.1 增強搜索結果 79
3.3.2 菜譜搜索引擎 82
第二部分 製作新網頁
第4章 Web錶單 86
4.1 理解錶單 86
4.2 傳統錶單翻新 88
4.2.1 通過占位符文本添加提示 91
4.2.2 焦點:挑選正確的起點 93
4.3 驗證:阻止錯誤 93
4.3.1 HTML5驗證的原理 94
4.3.2 關閉驗證 95
4.3.3 驗證樣式掛鈎 96
4.3.4 使用正則錶達式 97
4.3.5 自定義驗證 98
4.3.6 瀏覽器對驗證的支持 99
4.4 新的輸入控件 102
4.4.1 電子郵件地址 104
4.4.2 網址 105
4.4.3 搜索框 105
4.4.4 電話號碼 105
4.4.5 數值 105
4.4.6 滑動條 106
4.4.7 日期和時間 107
4.4.8 顔色 108
4.5 新元素 108
4.5.1 使用<datalist>顯示輸入建議 109
4.5.2 進度條和計量條 111
4.5.3 使用<command>和<menu>創建工具條和菜單 113
4.6 網頁中的HTML編輯器 113
4.6.1 使用contentEditable編輯
元素 114
4.6.2 使用designMode編輯頁麵 116
第5章 音頻與視頻 118
5.1 理解今天的視頻 118
5.2 HTML5音頻與視頻 119
5.2.1 使用<audio>播放點噪音 120
5.2.2 瞭解<video> 122
5.3 格式之爭與後備措施 123
5.3.1 談談格式 124
5.3.2 瀏覽器對媒體格式的支持
情況 125
5.3.3 多種格式:如何討好每一款瀏覽器 127
5.3.4 使用<source>元素 128
5.3.5 以Flash作後備 129
5.4 使用JavaScript控製播放器 132
5.4.1 添加音效 133
5.4.2 創建自定義視頻播放器 136
5.4.3 JavaScript媒體播放器 138
5.4.4 字幕與無障礙性 140
第6章 基本Canvas繪圖 142
6.1 Canvas起步 142
6.1.1 畫直綫 145
6.1.2 路徑與形狀 148
6.1.3 繪製麯綫 149
6.1.4 變換 152
6.1.5 透明度 155
6.2 構建基本的畫圖程序 157
6.2.1 準備工作 158
6.2.2 在畫布上繪圖 160
6.2.3 將畫布保存為圖像 161
6.3 瀏覽器對Canvas的支持情況 164
6.3.1 填平補齊Canvas 164
6.3.2 Canvas後備及功能檢測 166
第7章 高級Canvas技術 168
7.1 高級Canvas繪圖 168
7.1.1 繪製圖像 168
7.1.2 裁剪、切割和伸縮圖片 170
7.1.3 繪製文本 172
7.2 陰影與填充 173
7.2.1 添加陰影 173
7.2.2 填充圖案 175
7.2.3 填充漸變 176
7.2.4 綜閤示例:繪製圖解 180
7.3 賦予圖形交互能力 184
7.3.1 記錄繪製的內容 184
7.3.2 基於坐標的碰撞檢測 187
7.4 給Canvas添加動畫 189
7.4.1 基本的動畫 190
7.4.2 多物體動畫 191
7.5 實例:迷宮遊戲 195
7.5.1 布置迷宮 196
7.5.2 讓笑臉動起來 198
7.5.3 基於像素顔色的碰撞檢測 199
第8章 使用CSS3 203
8.1 使用CSS3 203
8.1.1 選擇一:用能用的 204
8.1.2 選擇二:將CSS功能作為
增強 204
8.1.3 選擇三:Modernizr 205
8.1.4 特定於瀏覽器的樣式 208
8.2 Web排版 209
8.2.1 Web字體格式 211
8.2.2 使用字體包 212
8.2.3 使用榖歌的Web字體 214
8.2.4 使用自己的字體 216
8.2.5 多欄文本 218
8.3 適用不同的設備 220
8.3.1 媒體查詢 220
8.3.2 高級媒體查詢 224
8.3.3 替換整個樣式錶 225
8.3.4 識彆移動設備 226
8.4 多變的盒子 227
8.4.1 透明盒子 227
8.4.2 圓角盒子 229
8.4.3 背景盒子 230
8.4.4 陰影盒子 231
8.4.5 漸變盒子 232
8.5 創建過渡效果 234
8.5.1 基本的顔色過渡 235
8.5.2 更多的過渡思路 237
8.5.3 變換 237
第三部分 構建桌麵式Web應用
第9章 數據存儲 242
9.1 Web存儲簡介 242
9.1.1 存儲數據 244
9.1.2 實戰:保存遊戲中的最後
位置 246
9.1.3 瀏覽器對Web存儲的支持
情況 247
9.2 深入Web存儲 248
9.2.1 刪除數據項 248
9.2.2 查找所有數據項 248
9.2.3 保存數值和日期 249
9.2.4 保存對象 250
9.2.5 響應存儲變化 251
9.3 讀取文件 253
9.3.1 取得文件 254
9.3.2 瀏覽器對File API的支持
情況 254
9.3.3 讀取文本文件 255
9.3.4 替換標準上傳控件 257
9.3.5 一次讀取多個文件 257
9.3.6 讀取圖片文件 258
第10章 離綫應用 261
10.1 通過描述文件緩存資源 262
10.1.1 創建描述文件 262
10.1.2 使用描述文件 264
10.1.3 把描述文件放到Web
服務器 265
10.1.4 更新描述文件 267
10.1.5 瀏覽器對離綫應用的支持
情況 269
10.2 實用緩存技術 270
10.2.1 訪問未緩存的文件 270
10.2.2 添加後備內容 271
10.2.3 檢測連接 273
10.2.4 通過JavaScript指定更新 274
第11章 與Web服務器通信 277
11.1 嚮Web服務器發送消息 277
11.1.1 XMLHttpRequest對象 278
11.1.2 嚮Web服務器提問 279
11.1.3 取得新內容 283
11.2 服務器發送事件 286
11.2.1 消息格式 287
11.2.2 通過服務器腳本發送消息 288
11.2.3 在網頁中處理消息 289
11.2.4 輪詢服務器端事件 291
11.3 Web Socket 292
11.3.1 訪問Web Socket 293
11.3.2 簡單的Web Socket客戶端 294
11.3.3 使用現成的Web Socket
服務器 295
第12章 更酷的JavaScript技術 298
12.1 地理定位 298
12.1.1 地理定位的基本原理 299
12.1.2 查找訪客的坐標 301
12.1.3 處理錯誤 303
12.1.4 設置地理定位選項 305
12.1.5 顯示地圖 306
12.1.6 跟蹤訪客移動 309
12.2 Web Workers 309
12.2.1 費時的任務 311
12.2.2 把任務放在後颱 313
12.2.3 處理Worker錯誤 316
12.2.4 取消後颱任務 316
12.2.5 傳遞復雜消息 317
12.3 曆史管理 320
12.3.1 URL問題 320
12.3.2 以往的解決方案:Hashbang
URL 321
12.3.3 HTML5的方案:會話曆史 322
12.3.4 瀏覽器對會話曆史的支持
情況 325
第四部分 附錄
附錄A CSS簡明教程 328
附錄B JavaScript簡明教程 342
· · · · · · (
收起)