HTML 5與CSS 3權威指南(第2版·上冊)

內容介紹

第1版2年內印刷近10次,累計銷量超過50000冊,4大網上書店的讀者評論超過4600條,98%以上的評論都是五星級的好評。不僅是HTML 5與CSS 3圖書領域當之無愧的領頭羊,而且在整個原創計算機圖書領域也是佼佼者。本書已經成為HTML 5與CSS 3圖書領域的一個標桿,被讀者譽為“系統學習HTML 5與CSS 3技術的最佳指導參考書之一”和“Web前端工程師案頭必備圖書之一”。第2版首先從技術的角度結合最新的HTML 5和CSS 3標準對內容進行了更新和補充,其次從結構組織和寫作方式的角度對原有的內容進行了進一步最佳化,使之更具價值且更便於讀者閱讀。
全書共29章,本書分為上下兩冊:上冊(1~17章)全面系統地講解了HTML 5相關的技術,以HTML 5對現有Web套用產生的變革開篇,順序講解了HTML 5與HTML 4的區別、HTML 5的結構、表單元素、HTML編輯API、圖形繪製、History API、本地存儲、離線套用、檔案API、通信API、擴展的XML HttpRequest API、Web Workers、地理位置信息、多媒體相關的API、頁面顯示相關的API、拖放API與通知API等內容;下冊(18~29章)全面系統地講解了CSS 3相關的技術,以CSS 3的功能和模組結構開篇,順序講解了各種選擇器及其使用、文字與字型的相關樣式、盒相關樣式、背景與框線相關樣式、布局相關樣式、變形處理、動畫、顏色相關樣式等內容。上下兩冊共351個示例頁面,所有代碼均通過作者上機調試。下冊的最後有2個綜合案例,以疊代的方式詳細講解了整個案例的實現過程,可操作性極強。

作者介紹

陸凌牛,資深Web開發工程師、軟體開發工程師和系統設計師。從事Web開發多年,對各種Web開發技術(包括前端和後端)都有非常深入的研究,經驗極其豐富。HTML 5和CSS 3等新技術的先驅者和布道者,不僅對HTML 5與CSS 3有非常深入的研究,而且對Sencha Touch等移動套用開發框架也有非常深刻的認識,並且付諸了大量實踐。同時,他還擅長微軟與Java的相關技術,在C#、VB.NET、ASP.NET、SQL Server 、Oracle、Java、Struts、Spring、Hibernate等方面也積累大量的實戰經驗。
此外,他還是一位頗有影響力的技術作家:
(1)處女作《HMTL 5與CSS 3權威指南》憑藉優質的內容獲得了讀者廣泛的好評,印刷近10次,銷量超過50000冊,被讀者譽為“系統學習HTML 5與CSS 3的最佳選擇”和“Web前端工程師案頭必備圖書之一”, 不僅是HTML 5與CSS 3領域的領頭羊和標桿,而且是近年來原創計算機圖書領域的一面旗幟。
(2)第2本著作《HTML 5開發精要與案例詳解》不僅在內容上延續了前一本書的精彩,而且同樣也取得了非常好的口碑和銷量,已經兩次重印,銷量萬餘冊。
(3)第3本著作《Sencha Touch權威指南》是該領域的第一本著作,也是唯一一本著作,內容非常全面,且極具實戰性,銷售勢頭也非常不錯。

作品目錄

前言
上冊
第1章 Web時代的變遷 / 1
1.1 迎接新的Web時代 / 2
1.1.1 HTML 5時代即將來臨 / 2
1.1.2 HTML 5的目標 / 4
1.2 HTML 5會深受歡迎的理由 / 4
1.2.1 世界知名瀏覽器廠商對HTML 5的支持 / 4
1.2.2 第一個理由:時代的要求 / 5
1.2.3 第二個理由:Internet Explorer 8 / 6
1.3 可以放心使用HTML 5的三個理由 / 6
1.4 HTML 5要解決的三個問題 / 7
第2章 HTML 5與HTML 4的區別 / 8
2.1 語法的改變 / 9
2.1.1 HTML 5的語法變化 / 9
2.1.2 HTML 5中的標記方法 / 10
2.1.3 HTML 5確保了與之前HTML版本的兼容性 / 10
2.1.4 標記示例 / 12
2.2 新增的元素和廢除的元素 / 12
2.2.1 新增的結構元素 / 12
2.2.2 新增的其他元素 / 14
2.2.3 新增的input元素的類型 / 18
2.2.4 廢除的元素 / 18
2.3 新增的屬性和廢除的屬性 / 19
2.3.1 新增的屬性 / 19
2.3.2 廢除的屬性 / 21
2.4 全局屬性 / 22
2.4.1 contentEditable屬性 / 22
2.4.2 designMode屬性 / 24
2.4.3 hidden屬性 / 24
2.4.4 spellcheck屬性 / 24
2.4.5 tabindex屬性 / 25
第3章 HTML 5的結構 / 26
3.1 新增的主體結構元素 / 27
3.1.1 article元素 / 27
3.1.2 section元素 / 29
3.1.3 nav元素 / 31
3.1.4 aside元素 /32
3.1.5 time元素與微格式 / 34
3.1.6 pubdate屬性 / 35
3.2 新增的非主體結構元素 / 35
3.2.1 header元素 / 36
3.2.2 hgroup元素 / 37
3.2.3 footer元素 / 37
3.2.4 address元素 / 38
3.3 HTML 5結構 / 39
3.3.1 大綱 / 39
3.3.2 大綱的編排規則 / 44
3.3.3 對新的結構元素使用樣式 / 47
第4章 表單及其他新增和改良元素 / 48
4.1 新增元素與屬性 / 49
4.1.1 新增屬性 / 49
4.1.2 大幅度地增加與改良input元素的種類 / 61
4.1.3 對新的表單元素使用樣式 / 71
4.1.4 output元素的追加 / 72
4.2 表單驗證 / 73
4.2.1 自動驗證 / 73
4.2.2 取消驗證 / 73
4.2.3 顯式驗證 / 74
4.3 增強的頁面元素 / 74
4.3.1 新增的figure元素與figcaption元素 / 75
4.3.2 新增的details元素與summary元素 / 76
4.3.3 新增的mark元素 / 77
4.3.4 新增的progress元素 / 80
4.3.5 新增的meter元素 / 81
4.3.6 改良的ol列表 / 82
4.3.7 改良的dl列表 / 83
4.3.8 加以嚴格限制的cite元素 / 85
4.3.9 重新定義的small元素 / 85
4.3.10 安全性增強的iframe元素 / 86
4.3.11 增強的script元素 / 89
第5章 HTML編輯API / 94
5.1 Range對象與Selection對象 / 95
5.1.1 基本概念 / 95
5.1.2 Range對象的屬性與方法 / 97
5.1.3 Selection對象的屬性與方法 / 118
5.2 命令 / 128
5.2.1 基本概念 / 128
5.2.2 execCommand方法 / 128
5.2.3 queryCommandSupported方法 / 129
5.2.4 queryCommandState方法 / 130
5.2.5 queryCommandIndeterm方法 / 131
5.2.6 queryCommandEnabled方法 / 133
5.2.7 queryCommandValue方法 / 135
5.2.8 可以在各種瀏覽器中運行的所有命令 / 136
第6章 繪製圖形 / 136
6.1 canvas元素的基礎知識 / 138
6.1.1 在頁面中放置canvas元素 / 138
6.1.2 繪製矩形 / 139
6.2 使用路徑 / 141
6.2.1 繪製圓形 / 141
6.2.2 如果沒有關閉路徑會怎么樣 / 143
6.2.3 moveTo與lineTo / 145
6.2.4 使用bezierCurveTo繪製貝濟埃曲線 / 146
6.3 繪製漸變圖形 / 148
6.3.1 繪製線性漸變 / 148
6.3.2 繪製徑向漸變 / 150
6.4 繪製變形圖形 / 151
6.4.1 坐標變換 / 151
6.4.2 坐標變換與路徑的結合使用 / 153
6.4.3 矩陣變換 / 154
6.5 圖形組合 / 158
6.6 給圖形繪製陰影 / 160
6.7 使用圖像 / 162
6.7.1 繪製圖像 / 162
6.7.2 圖像平鋪 / 164
6.7.3 圖像裁剪 / 166
6.7.4 像素處理 / 168
6.8 繪製文字 / 170
6.9 補充知識 / 172
6.9.1 保存與恢復狀態 / 172
6.9.2 保存檔案 / 173
6.9.3 簡單動畫的製作 / 174
第7章 History API / 177
7.1 History API的基本概念 / 178
7.2 History API使用示例 / 179
7.2.1 使用History API / 179
7.2.2 結合使用Canvas API與History API / 188
第8章 本地存儲 / 193
8.1 Web Storage / 194
8.1.1 Web Storage概述 / 194
8.1.2 簡單Web留言本 / 197
8.1.3 作為簡易資料庫來利用 / 200
8.1.4 利用storage事件實時監視Web Storage中的數據 / 202
8.2 本地資料庫 / 204
8.2.1 本地資料庫的基本概念 / 204
8.2.2 用executeSql來執行查詢 / 205
8.2.3 使用資料庫實現Web留言本 / 206
8.2.4 transaction方法中的處理 / 209
8.3 indexedDB資料庫 / 211
8.3.1 indexedDB資料庫的基本概念 / 211
8.3.2 連線資料庫 / 211
8.3.3 資料庫的版本更新 / 213
8.3.4 創建對象倉庫 / 218
8.3.5 創建索引 / 222
8.3.6 索引的multiEntry屬性值 / 226
8.3.7 使用事務 / 227
8.3.8 保存數據 / 229
8.3.9 獲取數據 / 232
8.3.10 根據主鍵值檢索數據 / 235
8.3.11 根據索引屬性值檢索數據 / 241
8.3.12 複合索引 / 246
8.3.13 統計對象倉庫中的數據數量 / 250
8.3.14 使用indexedDB API製作Web留言本 / 252
第9章 離線應用程式 / 259
9.1 離線Web應用程式詳解 / 260
9.1.1 新增的本地快取 / 260
9.1.2 本地快取與瀏覽器網頁快取的區別 / 260
9.2 manifest檔案 / 261
9.3 瀏覽器與伺服器的互動過程 / 263
9.4 applicationCache對象 / 264
9.4.1 swapCache方法 / 265
9.4.2 applicationCache對象的事件 / 267
第10章 檔案API / 270
10.1 FileList對象與file對象 / 271
10.2 ArrayBuffer對象與ArrayBufferView對象 / 272
10.2.1 基本概念 / 272
10.2.2 ArrayBuffer對象 / 272
10.2.3 ArrayBufferView對象 / 273
10.2.4 DataView對象 / 274
10.3 Blob對象與BlobBuilder對象 / 278
10.3.1 Blob對象 / 278
10.3.2 BlobBuilder對象 / 280
10.3.3 Blob對象的slice方法 / 283
10.4 FileReader對象 / 284
10.4.1 FileReader對象的方法 / 284
10.4.2 FileReader對象的事件 / 285
10.4.3 FileReader對象的使用示例 / 285
10.5 FileSystem API / 292
10.5.1 FileSystem API概述 / 292
10.5.2 FileSystem API的適用場合 / 292
10.5.3 請求訪問檔案系統/ 293
10.5.4 申請磁碟配額 / 296
10.5.5 創建檔案 / 300
10.5.6 寫入檔案 / 302
10.5.7 在檔案中追加數據 / 305
10.5.8 讀取檔案 / 307
10.5.9 複製磁碟中的檔案 / 309
10.5.10 刪除檔案 / 311
10.5.11 創建目錄 / 312
10.5.12 讀取目錄中的內容 / 316
10.5.13 刪除目錄 / 319
10.5.14 複製檔案或目錄 / 321
10.5.15 移動檔案或目錄與重命名檔案或目錄 / 323
10.5.16 filesystem:URL前綴 / 326
10.5.17 綜合案例 / 328
10.6 Base64編碼支持 / 336
10.6.1 Base64編碼概述 / 336
10.6.2 在HTML 5中支持Base64編碼 / 338
第11章 通信API / 342
11.1 跨文檔訊息傳輸 / 343
11.1.1 跨文檔訊息傳輸的基本知識 / 343
11.1.2 跨文檔訊息傳輸示例 / 344
11.1.3 通道通信 / 346
11.2 WebSockets通信 / 350
11.2.1 WebSockets通信的基本知識 / 350
11.2.2 使用WebSockets API / 350
11.2.3 WebSockets API使用示例 / 351
11.2.4 傳送對象 / 353
11.2.5 傳送與接收原始二進制數據 / 354
11.2.6 實現WebSockets API的開發框架 / 355
11.2.7 WebSocket 協定 / 355
11.2.8 WebSockets API的適用場景 / 356
11.3 Server-Sent Events API / 356
11.3.1 Server-Sent Events API的基本概念 / 356
11.3.2 Server-Sent Events API的實現方法 / 356
11.3.3 事件ID的使用示例 / 363
第12章 擴展的XMLHttpRequest API / 366
12.1 從伺服器端獲取二進制數據 / 367
12.1.1 ArrayBuffer回響 / 368
12.1.2 Blob回響 / 373
12.2 傳送數據 / 374
12.2.1 傳送字元串 / 374
12.2.2 傳送表單數據 / 376
12.2.3 上傳檔案 / 378
12.2.4 傳送Blob對象 / 379
12.2.5 傳送ArrayBuffer對象 / 381
12.3 跨域數據請求 / 385
第13章 使用Web Workers處理執行緒 / 388
13.1 基礎知識 / 389
13.2 與執行緒進行數據的互動 / 392
13.3 執行緒嵌套 / 394
13.3.1 單層嵌套 / 395
13.3.2 在多個子執行緒中進行數據的互動 / 397
13.4 執行緒中可用的變數、函式與類 / 398
13.5 適用場合 / 399
13.6 SharedWorker / 399
13.6.1 基礎知識 / 399
13.6.2 實現前台頁面與後台執行緒之間的通信 / 400
13.6.3 定義頁面與共享的後台執行緒開始通信時的處理 / 400
13.6.4 SharedWorker的使用示例 / 401
第14章 獲取地理位置信息 / 406
14.1 Geolocation API的基本知識 / 407
14.1.1 取得當前地理位置 / 407
14.1.2 持續監視當前地理位置的信息 / 409
14.1.3 停止獲取當前用戶的地理位置信息 / 409
14.2 position對象 / 409
14.3 在頁面上使用google地圖 / 411
第15章 多媒體相關API / 414
15.1 多媒體播放 / 415
15.1.1 video元素與audio元素的基礎知識 / 415
15.1.2 屬性 / 417
15.1.3 方法 / 421
15.1.4 事件 / 423
15.2 Web Audio API / 426
15.2.1 AudioContext對象 / 426
15.2.2 載入聲音 / 427
15.2.3 播放聲音 / 428
15.2.4 將聲音載入處理封裝在類中 / 429
15.2.5 控制節奏 / 431
15.2.6 控制音量 / 433
15.2.7 兩個聲音的交叉混合 / 436
15.2.8 多個音頻檔案之間的平滑過渡 / 439
15.2.9 對音頻使用濾波處理 / 443
第16章 與頁面顯示相關的API / 447
16.1 Page Visibility API / 448
16.1.1 Page Visibility API概述 / 448
16.1.2 Page Visibility API的使用場合 / 448
16.1.3 實現Page Visibility API / 448
16.2 Fullscreen API / 451
16.2.1 Fullscreen API概述 / 451
16.2.2 實現Fullscreen API / 451
16.2.3 Fullscreen API代碼使用示例 / 454
第17章 拖放API與通知API / 457
17.1 拖放API / 458
17.1.1 實現拖放的步驟 / 458
17.1.2 DataTransfer對象的屬性與方法 / 461
17.1.3 設定拖放時的視覺效果 / 461
17.1.4 自定義拖放圖示 / 462
17.2 通知API / 463
17.2.1 通知API的基礎知識 / 463
17.2.2 通知API的代碼使用示例 / 465

相關詞條

熱門詞條

聯絡我們