HTML5與CSS3權威指南(第3版·上冊)

HTML5與CSS3權威指南(第3版·上冊)
定價:534
NT $ 465
  • 作者:陸凌牛
  • 出版社:機械工業出版社
  • 出版日期:2015-09-01
  • 語言:簡體中文
  • ISBN10:7111514432
  • ISBN13:9787111514435
  • 裝訂:552頁 / 普通級 / 3-1
 

內容簡介

本書共29章,分為上下兩冊:上冊(1~17章)全面系統地講解了HTML5相關的技術,以HTML5對現有Web應用產生的變革開篇,順序講解了HTML5與HTML4的區別、HTML5的結構、表單元素、HTML編輯API、圖形繪制、History API、本地存儲、離線應用、文件API、通信API、擴展的XML Http Request API、Web Workers、地理位置信息、多媒體相關的API、頁面顯示相關的API、拖放API與通知API等。

陸凌牛,資深Web開發工程師、軟件開發工程師和系統設計師。從事Web開發多年,對各種Web開發技術(包括前端和后端)都有非常深入的研究,經驗極其豐富。HTML 5和CSS 3等新技術的先驅者和布道者,不僅對HTM L 5與CSS 3有非常深入的研究,而且對Sencha Touch、Node.js等開發框架也有非常深入的研究,並且付諸了大量實踐。同時,他還擅長微軟與Java的相關技術,在C#、VB.NET、ASRNET、SQL Server、Oracle、Java、Struts、Sptinq、Hibernate等方面也積累大量的實戰經驗。

此外,他還是—位頗有影響力的技術作家:《HMTL 5與CSS 3權威指南》憑借優質的內容深受讀者好評,同類書只能望其項背。前兩版累計印刷超過15次,銷量超過8萬冊,被讀者譽為「系統學習HTML 5與CSS 3的最佳著作」和「Web前端工程師案頭必備圖書之一」,不僅是HTML 5與CSS 3領域的領頭羊和標桿,而且是近年來原創計算機圖書領域的一面旗幟。《HTML 5開發精要與案例詳解》、《SenchaTouch權威指南》、《Node.js權威指南》等著作同樣也取得了非常好的口碑和銷量。
 

目錄

前言
上冊
第1章 Web時代的變遷 1
1.1 迎接新的Web時代 1
1.1.1 HTML 5時代即將來臨 1
1.1.2 HTML 5的目標 3
1.2 HTML 5深受歡迎的理由 4
1.2.1 世界知名瀏覽器廠商對HTML 5的支持 4
1.2.2 第一個理由:時代的要求 5
1.2.3 第二個理由:Internet Explorer 85
1.3 可以放心使用HTML 5的三個理由 6
1.4 HTML 5要解決的三個問題 6
第2章 HTML 5與HTML 4的區別 8
2.1 語法的改變 8
2.1.1 HTML 5的語法變化 8
2.1.2 HTML 5中的標記方法 9
2.1.3 HTML 5確保的兼容性 10
2.1.4 標記示例 11
2.2 新增的元素和廢除的元素 12
2.2.1 新增的結構元素 12
2.2.2 新增的其他元素 14
2.2.3 新增的input元素的類型 18
2.2.4 廢除的元素 19
2.3 新增的屬性和廢除的屬性 20
2.3.1 新增的屬性 20
2.3.2 廢除的屬性 22
2.4 全局屬性 23
2.4.1 contentEditable屬性 23
2.4.2 designMode屬性 24
2.4.3 hidden屬性 25
2.4.4 spellcheck屬性 25
2.4.5 tabindex屬性 25
2.5 新增的事件 26
第3章 HTML 5的結構 28
3.1 新增的主體結構元素 28
3.1.1 article元素 29
3.1.2 section元素 31
3.1.3 nav元素 33
3.1.4 aside元素 34
3.1.5 time元素與微格式 36
3.1.6 pubdate屬性 37
3.2 新增的非主體結構元素 38
3.2.1 header元素 38
3.2.2 footer元素 39
3.2.3 address元素 40
3.2.4 main元素 41
3.3 HTML 5中網頁結構 42
3.3.1 HTML 5中的大綱 42
3.3.2 大綱的編排規則 48
3.3.3 對新的結構元素使用樣式 51
第4章 表單及其他新增和改良元素 53
4.1 新增元素與屬性 53
4.1.1 新增屬性 53
4.1.2 大幅度地增加與改良input元素的種類 65
4.1.3 對新的表單元素使用樣式 77
4.1.4 output元素的追加 77
4.2 表單驗證 78
4.2.1 自動驗證 78
4.2.2 取消驗證 79
4.2.3 顯式驗證 79
4.3 增強的頁面元素 80
4.3.1 新增的figure元素與figcaption元素 80
4.3.2 新增的details元素與summary元素 82
4.3.3 新增的mark元素 83
4.3.4 新增的progress元素 86
4.3.5 新增的meter元素 87
4.3.6 新增的dialog元素 88
4.3.7 改良的a元素 90
4.3.8 改良的ol列表 91
4.3.9 改良的dl列表 92
4.3.10 加以嚴格限制的cite元素 93
4.3.11 重新定義的small元素 94
4.3.12 安全性增強的iframe元素 94
4.3.13 增強的script元素 97
第5章 繪制圖形 102
5.1 canvas元素的基礎知識 102
5.1.1 在頁面中放置canvas元素 103
5.1.2 繪制矩形 103
5.2 使用路徑 105
5.2.1 繪制圓形 105
5.2.2 不關閉路徑會怎麼樣 108
5.2.3 繪制直線 109
5.2.4 繪制曲線 114
5.2.5 使用Path2D對象繪制路徑 116
5.3 繪制漸變圖形 119
5.3.1 繪制線性漸變 119
5.3.2 繪制徑向漸變 121
5.4 繪制變形圖形 122
5.4.1 坐標變換 122
5.4.2 坐標變換與路徑的結合使用 124
5.4.3 矩陣變換 125
5.5 給圖形繪制陰影 129
5.6 使用圖像 130
5.6.1 繪制圖像 130
5.6.2 圖像平鋪 133
5.6.3 圖像裁剪 135
5.6.4 像素處理 137
5.7 圖形、圖像的組合與混合 138
5.7.1 組合圖形 138
5.7.2 混合圖像 140
5.8 繪制文字 143
5.9 補充知識 145
5.9.1 保存與恢復狀態 145
5.9.2 保存文件 146
5.9.3 簡單動畫的制作 147
第6章 多媒體相關API 150
6.1 多媒體播放 151
6.1.1 video元素與audio元素的基礎知識 151
6.1.2 屬性 153
6.1.3 方法 157
6.1.4 事件 160
6.2 對音頻或視頻添加字幕 163
6.2.1 track元素的基礎知識 163
6.2.2 track元素的各種屬性 164
6.2.3 WebVTT文件 166
第7章 History API 171
7.1 History API的基本概念 171
7.2 History API使用示例 172
7.2.1 使用History API 172
7.2.2 結合使用Canvas API與History API 182
第8章 本地存儲 187
8.1 Web Storage 188
8.1.1 Web Storage是什麼 188
8.1.2 簡單Web留言本 191
8.1.3 作為簡易數據庫來利用 194
8.1.4 利用storage事件實時監視Web Storage中的數據 196
8.2 本地數據庫 199
8.2.1 本地數據庫的基本概念 199
8.2.2 用executeSql來執行查詢 199
8.2.3 使用數據庫實現Web留言本 200
8.2.4 transaction方法中的處理 204
8.3 indexedDB數據庫 206
8.3.1 indexedDB數據庫的基本概念 206
8.3.2 連接數據庫 206
8.3.3 數據庫的版本更新 208
8.3.4 創建對象倉庫 210
8.3.5 創建索引 213
8.3.6 索引的multiEntry屬性值 216
8.3.7 使用事務 216
8.3.8 保存數據 218
8.3.9 獲取數據 221
8.3.10 根據主鍵值檢索數據 225
8.3.11 根據索引屬性值檢索數據 232
8.3.12 復合索引 237
8.3.13 統計對象倉庫中的數據數量 242
8.3.14 使用indexedDB API制作Web留言本 243
第9章 離線應用程序 250
9.1 離線Web應用程序詳解 250
9.1.1 新增的本地緩存 250
9.1.2 本地緩存與瀏覽器網頁緩存的區別 251
9.2 manifest文件 251
9.3 瀏覽器與服務器的交互過程 254
9.4 applicationCache對象 255
9.4.1 swapCache方法 255
9.4.2 applicationCache對象的事件 258
第10章 文件API 261
10.1 FileList對象與file對象 262
10.2 ArrayBuffer對象與ArrayBufferView對象 263
10.2.1 基本概念 263
10.2.2 ArrayBuffer對象 263
10.2.3 ArrayBufferView對象 263
10.2.4 DataView對象 265
10.3 Blob對象 269
10.3.1 Blob對象概述 269
10.3.2 創建Blob對象 271
10.3.3 Blob對象的slice方法 274
10.3.4 在IndexedDB數據庫中保存Blob對象 275
10.4 FileReader對象 277
10.4.1 FileReader對象的方法 277
10.4.2 FileReader對象的事件 278
10.4.3 FileReader對象的使用示例 278
10.5 FileSystem API 285
10.5.1 FileSystem API概述 285
10.5.2 FileSystem API的適用場合 286
10.5.3 請求訪問文件系統 287
10.5.4 申請磁盤配額 289
10.5.5 創建文件 294
10.5.6 寫入文件 297
10.5.7 在文件中追加數據 300
10.5.8 讀取文件 301
10.5.9 復制磁盤中的文件 304
10.5.10 刪除文件 306
10.5.11 創建目錄 307
10.5.12 讀取目錄中的內容 312
10.5.13 刪除目錄 314
10.5.14 復制文件或目錄 316
10.5.15 移動文件或目錄與重命名文件或目錄 319
10.5.16 filesystem:URL前綴 321
10.5.17 綜合案例 325
10.6 Base64編碼支持 333
10.6.1 Base64編碼概述 333
10.6.2 在HTML 5中支持Base64編碼 335
第11章 通信API 340
11.1 跨文檔消息傳輸 341
11.1.1 跨文檔消息傳輸的基本知識 341
11.1.2 跨文檔消息傳輸示例 341
11.1.3 通道通信 343
11.2 WebSockets通信 348
11.2.1 WebSockets通信的基本知識 348
11.2.2 使用WebSockets API 348
11.2.3 WebSockets API使用示例 349
11.2.4 發送對象 351
11.2.5 發送與接收原始二進制數據 352
11.2.6 實現WebSockets API的開發框架 353
11.2.7 WebSocket協議 354
11.2.8 WebSockets API的適用場景 354
11.3 Server—Sent Events API 354
11.3.1 Server—Sent Events API的基本概念 354
11.3.2 Server—Sent Events API的實現方法 355
11.3.3 事件ID的使用示例 362
第12章 WebRTC通信 366
12.1 WebRTC的基本概念 366
12.2 使用getUserMedia方法訪問本地設備 367
12.2.1 瀏覽器檢測 367
12.2.2 獲取對視頻輸入設備或音頻輸入設備的訪問權限 368
12.2.3 實現拍照功能 370
12.2.4 與CSS 3結合使用 372
12.3 手工建立WebRTC通信 372
12.3.1 WebRTC通信的基本概念 372
12.3.2 建立P2P通信 372
12.3.3 手工實現信令 373
12.3.4 剖析SDP交換過程 382
12.3.5 剖析ICE交換過程 388
12.4 穿越NAT/防火牆進行通信 390
12.4.1 穿越NAT 391
12.4.2 穿越防火牆 392
12.5 使用Node.js進行信令 395
12.5.1 建立信令服務器 395
12.5.2 修改信令處理 396
12.6 使用WebRTC進行多人通信 404
12.7 使用RTCDataChannel進行通信 425
12.7.1 RTCDataChannel的基本概念 425
12.7.2 實現RTCDataChannel通信 426
12.7.3 實現瀏覽器與瀏覽器之間的文件發送功能 438
第13章 擴展的XMLHttpRequest API 449
13.1 從服務器端獲取二進制數據 449
13.1.1 ArrayBuffer響應 450
13.1.2 Blob響應 455
13.2 發送數據 456
13.2.1 發送字符串 457
13.2.2 發送表單數據 458
13.2.3 上傳文件 461
13.2.4 發送Blob對象 462
13.2.5 發送ArrayBuffer對象 465
13.3 跨域數據請求 469
第14章 使用Web Workers處理線程 471
14.1 基礎知識 472
14.2 與線程進行數據的交互 475
14.3 線程嵌套 477
14.3.1 單層嵌套 477
14.3.2 在多個子線程中進行數據的交互 480
14.4 線程中可用的變量、函數與類 481
14.5 適用場合 482
14.6 SharedWorker 482
14.6.1 基礎知識 482
14.6.2 實現前台頁面與后台線程之間的通信 483
14.6.3 定義頁面與共享的后台線程開始通信時的處理 483
14.6.4 SharedWorker的使用示例 484
第15章 獲取地理位置信息 490
15.1 Geolocation API的基本知識 490
15.1.1 取得當前地理位置 490
15.1.2 持續監視當前地理位置的信息 493
15.1.3 停止獲取當前用戶的地理位置信息 493
15.2 position對象 493
15.3 在頁面上使用google地圖 495
第16章 拖放API與通知API 498
16.1 拖放API 498
16.1.1 實現拖放的步驟 498
16.1.2 DataTransfer對象的屬性與方法 501
16.1.3 設定拖放時的視覺效果 502
16.1.4 自定義拖放圖標 503
16.2 通知API 503
16.2.1 通知API的基礎知識 503
16.2.2 通知API的代碼使用示例 506
第17章 其他API 510
17.1 Page Visibility API 511
17.1.1 Page Visibility API概述 511
17.1.2 Page Visibility API的使用場合 511
17.1.3 實現Page Visibility API 511
17.2 Fullscreen API 514
17.2.1 Fullscreen API概述 514
17.2.2 實現Fullscreen API 514
17.2.3 Fullscreen API代碼使用示例 517
17.3 鼠標指針鎖定API 519
17.3.1 鼠標指針鎖定API概述 519
17.3.2 鼠標指針鎖定API代碼使用示例 520
17.4 requestAnimation Frame 524
17.4.1 requestAnimation Frame概述 524
17.4.2 requestAnim Frame代碼使用示例 524
17.5 Mutation Observer 526
17.6 JavaScript Promise 531
17.6.1 Promise對象的基本概念 531
17.6.2 創建Promise對象 537
17.6.3 鏈式調用Promise對象的then方法 540
17.6.4 將異步操作隊列化 542
17.6.5 異常處理 543
17.6.6 創建序列 544
17.6.7 執行並行處理 549
17.7 Beacon API 550
17.7.1 Beacon API概述 550
17.7.2 Beacon API的使用方法 551
網路書店 類別 折扣 價格
  1. 新書
    87
    $465