內容提要
W3C於2016年11月1日正式發布了HTML 5.1規範,該規範已經得到廣大瀏覽器廠商的支持,主流的最新版本的瀏覽器幾乎都支持該規範。與此同時,前端開發的持續火爆,使得HTML 5成為目前的熱門領域。
《瘋狂HTML 5+CSS 3+JavaScript講義(第2版)》是一本全面介紹HTML 5、CSS 3和JavaScript前端開發技術的圖書,系統地介紹了HTML 5常用的元素和屬性、HTML 5的表單元素和屬性、HTML 5的繪圖支持、HTML 5的多媒體支持、CSS 3的功能和用法、最前沿的變形與動畫功能等。除此之外,《瘋狂HTML 5+CSS 3+JavaScript講義(第2版)》還系統地介紹了JavaScript編程知識,包括JavaScript基本語法、DOM編程,以及HTML 5新增的本地存儲、Indexed資料庫、離線套用、JavaScript多執行緒、客戶端通信支持、WebSocket編程等。
《瘋狂HTML 5+CSS 3+JavaScript講義(第2版)》的定位是一本前端開發的“實戰性”圖書,因此在介紹各知識點時並不是簡單地停留在知識點層面闡述,而是結合了大量實例來讓讀者對照練習、學以致用。《瘋狂HTML 5+CSS 3+JavaScript講義(第2版)》最後還提供了一個基於HTML 5技術的小遊戲:瘋狂俄羅斯方塊。該遊戲綜合運用了HTML 5的繪圖支持、客戶端存儲等技術,具有較高的參考價值。《瘋狂HTML 5+CSS 3+JavaScript講義(第2版)》提供了配套的答疑網站,如果讀者在閱讀過程中遇到了技術問題,可以登錄瘋狂Java聯盟發帖,筆者將會及時予以解答。
《瘋狂HTML 5+CSS 3+JavaScript講義(第2版)》對HTML 5、CSS 3、JavaScript的介紹是“從零開始”的,因此閱讀《瘋狂HTML 5+CSS 3+JavaScript講義(第2版)》並不需要額外的基礎。對於剛剛從事前端開發的新人,《瘋狂HTML 5+CSS 3+JavaScript講義(第2版)》具有很好的學習價值;對於有一定工作經驗的前端工程師,《瘋狂HTML 5+CSS 3+JavaScript講義(第2版)》具有很高的參考價值。《瘋狂HTML 5+CSS 3+JavaScript講義(第2版)》也可作為高校、培訓機構的教材使用。
目錄
第1章 HTML 5簡介 1
1.1 HTML歷史與HTML 5 2
1.2 HTML 5的優勢 6
1.3 HTML 5的基本結構和語法變化 8
1.4 本章小結 12
第2章 HTML 5的常用元素與屬性 14
2.1 HTML 5保留的常用元素 15
2.2 HTML 5增強的iframe元素 34
2.3 HTML 5保留的通用屬性 40
2.4 HTML 5新增的通用屬性 44
2.5 HTML 5新增的結構元素 48
2.6 HTML 5新增的語義元素 55
2.7 HTML 5頭部和元信息 59
2.8 HTML 5新增的拖放API 63
2.9 本章小結 71
第3章 HTML 5表單相關的元素和屬性 72
3.1 HTML原有的表單及表單控制項 73
3.2 HTML 5新增的表單屬性 83
3.3 HTML 5新增的表單元素 90
3.4 HTML 5新增的客戶端校驗 96
3.5 本章小結 100
第4章 HTML 5的繪圖支持 101
4.1 使用canvas元素 102
4.2 繪圖 103
4.3 坐標變換 118
4.4 控制疊加風格 123
4.5 控制填充風格 124
4.6 點陣圖處理 128
4.7 輸出點陣圖 132
4.8 動畫製作 133
4.9 本章小結 136
第5章 HTML 5的多媒體支持 137
5.1 使用audio和video元素 138
5.2 使用JavaScript腳本控制媒體播放 141
5.3 事件監聽 144
5.4 track元素 146
5.5 本章小結 149
第6章 級聯樣式單與CSS選擇器 150
6.1 樣式單概述 151
6.2 CSS樣式單的基本使用 152
6.3 CSS選擇器 158
6.4 偽元素選擇器 167
6.5 CSS 3新增的偽類選擇器 176
6.6 在腳本中修改顯示樣式 195
6.7 本章小結 197
第7章 字型與文本相關屬性 198
7.1 字型相關屬性 199
7.2 CSS 3支持的顏色表示方法 205
7.3 文本相關屬性 206
7.4 CSS 3新增的伺服器字型 212
7.5 本章小結 215
第8章 背景、框線和邊距相關屬性 216
8.1 盒模型簡介 217
8.2 背景相關屬性 217
8.3 使用漸變背景 226
8.4 框線相關屬性 239
8.5 使用opacity控制透明度 246
8.6 padding和margin相關屬性 247
8.7 本章小結 249
第9章 大小、定位、輪廓相關屬性 250
9.1 width、height相關屬性 251
9.2 定位相關屬性 255
9.3 輪廓相關屬性 257
9.4 用戶界面和濾鏡屬性 258
9.5 本章小結 263
第10章 盒模型與布局相關屬性 264
10.1 盒模型和display屬性 265
10.2 對盒添加陰影 275
10.3 布局相關屬性 278
10.4 CSS 3新增的多欄布局 285
10.5 使用彈性盒布局 289
10.6 本章小結 306
第11章 表格、列表相關屬性及media query 307
11.1 表格相關屬性 308
11.2 列表相關屬性 313
11.3 控制游標的屬性 316
11.4 media query和回響式布局 317
11.5 本章小結 323
第12章 變形與動畫相關屬性 324
12.1 CSS 3提供的變形支持 325
12.2 CSS 3新增的3D變換 337
12.3 CSS 3提供的Transition動畫 341
12.4 CSS 3提供的Animation動畫 345
12.5 本章小結 349
第13章 JavaScript語法詳解 350
13.1 JavaScript簡介 351
13.2 數據類型和變數 356
13.3 基本數據類型 364
13.4 複合類型 376
13.5 運算符 381
13.6 語句 391
13.7 流程控制 395
13.8 函式 403
13.9 函式的參數處理 425
13.10 面向對象 429
13.11 創建對象 437
13.12 本章小結 443
第14章 DOM編程詳解 444
14.1 DOM模型概述 445
14.2 DOM模型和HTML文檔 446
14.3 訪問HTML元素 448
14.4 修改HTML元素 456
14.5 增加HTML元素 458
14.6 刪除HTML元素 463
14.7 傳統的DHTML模型 467
14.8 使用window對象 469
14.9 navigator和地理定位 479
14.10 HTML 5增強的History API 485
14.11 使用document對象 490
14.12 HTML 5新增的瀏覽器分析 493
14.13 本章小結 496
第15章 事件處理機制 497
15.1 事件模型的基本概念 498
15.2 綁定事件處理函式 499
15.3 事件處理函式的執行環境 505
15.4 事件類型 521
15.5 本章小結 534
第16章 本地存儲與離線套用 535
16.1 Web Storage 536
16.2 Indexed資料庫API 545
16.3 離線套用 564
16.4 本章小結 571
第17章 檔案支持與二進制數據 572
17.1 HTML 5增強的檔案上傳域 573
17.2 ArrayBuffer與TypedArray 578
17.3 Blob類 583
17.4 本章小結 587
第18章 Web Worker多執行緒API 588
18.1 使用Worker創建多執行緒 589
18.2 與Worker執行緒進行數據交換 591
18.3 Worker執行緒嵌套 594
18.4 使用SharedWorker創建共享執行緒 597
18.5 Promise 603
18.6 本章小結 611
第19章 客戶端通信 612
19.1 跨文檔訊息傳遞 613
19.2 使用WebSocket與伺服器通信 621
19.3 使用Server-Sent Events API 630
19.4 使用Beacon 635
19.5 本章小結 636
第20章 HTML 5的瘋狂俄羅斯方塊 637
20.1 俄羅斯方塊簡介 638
20.2 開發遊戲界面 639
20.3 俄羅斯方塊的數據模型 640
20.4 實現遊戲邏輯 644
20.5 本章小結 654