書名: | HTML5與CSS 3權威指南上下冊套裝|4904554 |
圖書定價: | 158元 |
圖書作者: | 陸淩牛 |
齣版社: | 機械工業齣版社 |
齣版日期: | 2015/12/1 0:00:00 |
ISBN號: | 9787 |
開本: | 16開 |
頁數: | 0 |
版次: | 1-1 |
作者簡介 |
陸淩牛,資深Web開發工程師、軟件開發工程師和係統設計師。從事Web開發多年,對各種Web開發技術(包括前端和後端)都有非常深入的研究,經驗極其豐富。HTML 5和CSS 3等新技術的先驅者和布道者,不僅對HTML 5與CSS 3有非常深入的研究,而且對Sencha Touch、Node.js等開發框架也有非常深入的研究,並且付諸瞭大量實踐。同時,他還擅長微軟與Java的相關技a術,在C#、VB.NET、ASP.NET、SQL Server 、Oracle、Java、Struts、Spring、Hibernate等方麵也積纍大量的實戰經驗。 此外,他還是一位頗有影響力的技術作傢: 《HMTL 5與CSS 3權威指南》憑藉優質的內容深受讀者好評,同類書隻能望其項背。前兩版纍計印刷超過15次,銷量超過8萬冊,被讀者譽為“係統學習HTML 5與CSS 3的最佳著作”和“Web前端工程師案頭必備圖書之一”, 不僅是HTML 5與CSS 3領域的領頭羊和標杆,而且是近年來原創計算機圖書領域的一麵旗幟。 《HTML 5開發精要與案例詳解》、《Sencha Touch權威指南》、《Node.js權威指南》等著作同樣也取得瞭非常好的口碑和銷量。 |
內容簡介 |
本書是HTML 5與CSS 3領域公認的標杆之作,被讀者譽為“係統學習HTML 5與CSS 3的最佳著作”和“Web前端工程師案頭必備圖書之_”。 前兩版纍計印刷超過15次,網絡書店評論超過8000條,98%以上的評論都是五星級的好評。不僅是HTML 5與CSS 3圖書領域當之無愧的領頭羊,而且在整個原創計算機圖書領域是佼佼者。 第3版首先從技術的角度根據最新的HTML 5和CSS 3標準進行瞭更新和補充,其次根據讀者的反饋對內容的組織結構和寫作方式做瞭進一步的優化,內容更經典,閱讀體驗也更好。 全書共29章,分為上下兩冊: 上冊(1—17章)全麵係統地講解瞭HTML 5相關的技術,以HTML 5對現有Web應用産生的變革開篇,順序講解瞭HTML 5與HTML 4的區彆、HTML 5的結構、錶單及新增頁麵元素、圖形繪製、多媒體、本地存儲、文件、WebRTC通信、擴展的XMLHttpRequest、離綫應用、WebWorkers、地理位置信息、拖放與通知等內容;下冊(18—29章)全麵係統地講解瞭CSS 3相關的技術,以CSS 3的功能和模塊結構開篇,順序講解瞭各種選擇器及其使用、文字與字體的相關樣式、盒相關樣式、背景與邊框相關樣式、布局相關樣式、變形處理、動畫、顔色相關樣式等內容。 全書一共389個示例頁麵和2個綜閤性的案例,所有代碼均通過作者上機調試,讀者可下載書中代碼,直接在瀏覽器查看運行結果。 |
目錄 |
《HTML 5與CSS 3 權威指南(上冊) (第3版)》 前 言 上 冊 第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 8 5 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 新增的f igure元素與f igcaption元素 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 requestAnimationFrame 524 17.4.1 requestAnimationFrame概述 524 17.4.2 requestAnimFrame代碼使用示例 524 17.5 Mutation Observer 526 17.6 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 下冊 第18章 CSS 3概述 553 18.1 概要介紹 553 18.1.1 CSS 3是什麼 553 18.1.2 CSS 3的曆史 554 18.2 使用CSS 3能做什麼 554 18.2.1 模塊與模塊化結構 554 18.2.2 一個簡單的CSS 3示例 556 第19章 選擇器 559 19.1 選擇器概述 560 19.2 屬性選擇器 561 19.2.1 屬性選擇器概述 561 19.2.2 CSS 3中的屬性選擇器 563 19.2.3 靈活運用屬性選擇器 564 19.3 結構性僞類選擇器 565 19.3.1 CSS中的僞類選擇器及僞元素 565 19.3.2 選擇器root、not、empty和target 570 19.3.3 選擇器first-child、last-child、nth-child和nth-last-child 574 19.3.4 選擇器nth-of-type和nth-last-of-type 579 19.3.5 循環使用樣式 582 19.3.6 only-child選擇器 584 19.4 UI元素狀態僞類選擇器 585 19.4.1 僞類選擇器E:hover、E:active和E:focus 586 19.4.2 僞類選擇器E:enabled與E:disabled 588 19.4.3 僞類選擇器E:read-only與E:read-write 589 19.4.4 僞類選擇器E:checked、E:default和E:indeterminate 590 19.4.5 僞類選擇器E::selection 593 19.4.6 僞類選擇器E:invalid與E:valid 595 19.4.7 僞類選擇器E:required與E:optional 596 19.4.8 僞類選擇器E:in-range與E:out-of-range 596 19.5 通用兄弟元素選擇器 597 第20章 使用選擇器在頁麵中插入內容 599 20.1 使用選擇器來插入文字 599 20.1.1 使用選擇器來插入內容 599 20.1.2 指定個彆元素不進行插入 601 20.2 插入圖像文件 602 20.2.1 在標題前插入圖像文件 602 20.2.2 插入圖像文件的好處 603 20.2.3 將alt屬性的值作為圖像的標題來顯示 605 20.3 使用content屬性來插入項目編號 605 20.3.1 在多個標題前加上連續編號 606 20.3.2 在項目編號中追加文字 607 20.3.3 指定編號的樣式 607 20.3.4 指定編號的種類 608 20.3.5 編號嵌套 608 20.3.6 中編號中嵌入大編號 610 20.3.7 在字符串兩邊添加嵌套文字符號 611 第21章 文字與字體相關樣式 614 21.1 給文字添加陰影——text-shadow屬性 614 21.1.1 text-shadow屬性的使用方法 614 21.1.2 位移距離 616 21.1.3 陰影的模糊半徑 617 21.1.4 陰影的顔色 617 21.1.5 指定多個陰影 618 21.2 讓文本自動換行——word-break屬性 618 21.2.1 依靠瀏覽器讓文本自動換行 619 21.2.2 指定自動換行的處理方法 619 21.3 讓長單詞與URL地址自動換行——word-wrap屬性 621 21.4 使用服務器端字體——Web Font與@font-face屬性 621 21.4.1 在網頁上顯示服務器端字體 621 21.4.2 定義斜體或粗體字體 623 21.4.3 顯示客戶端本地的字體 625 21.4.4 屬性值的指定 627 21.5 修改字體種類而保持字體尺寸不變——font-size-adjust屬性 628 21.5.1 字體不同導緻文字大小的不同 628 21.5.2 font-size-adjust屬性的使用方法 629 21.5.3 瀏覽器對於aspect值的計算方法 629 21.5.4 font-size-adjust屬性的使用示例 630 21.6 使用rem單位定義字體大小 631 第22章 盒相關樣式 633 22.1 盒的類型 633 22.1.1 盒的基本類型 633 22.1.2 inline-block類型 635 22.1.3 inline-table類型 642 22.1.4 list-item類型 644 22.1.5 run-in類型與compact類型 645 22.1.6 錶格相關類型 646 22.1.7 none類型 648 22.1.8 各種瀏覽器對於各種盒類型的支持情況 649 22.2 對於盒中容納不下的內容的顯示 650 22.2.1 overflow屬性 650 22.2.2 overflow-x屬性與overflow-y屬性 653 22.2.3 text-overflow屬性 654 22.3 對盒使用陰影 656 22.3.1 box-shadow屬性的使用方法 656 22.3.2 將參數設定為0 656 22.3.3 創建盒內陰影 658 22.3.4 對盒內子元素使用陰影 658 22.3.5 對第一個文字或第一行使用陰影 659 22.3.6 對錶格及單元格使用陰影 660 22.4 指定針對元素的寬度與高度的計算方法 661 22.4.1 box-sizing屬性 661 22.4.2 為什麼要使用box-sizing屬性 664 第23章 背景與邊框相關樣式 666 23.1 與背景相關的新增屬性 666 23.1.1 指定背景的顯示範圍——background-clip屬性 667 23.1.2 指定背景圖像的繪製起點——background-origin屬性 669 23.1.3 指定背景圖像的尺寸——background-size屬性 672 23.1.4 新增的用於平鋪背景圖像的選項——space與round 676 23.2 在一個元素中顯示多個背景圖像 678 23.3 使用漸變色背景 679 23.3.1 繪製綫性漸變 679 23.3.2 繪製放射性漸變 682 23.4 圓角邊框的繪製 685 23.4.1 border-radius屬性 686 23.4.2 在border-radius屬性中指定兩個半徑 686 23.4.3 不顯示邊框的時候 687 23.4.4 修改邊框種類的時候 688 23.4.5 繪製四個角不同半徑的圓角邊框 688 23.5 使用圖像邊框 688 23.5.1 border-image屬性 688 23.5.2 border-image屬性的最簡單的使用方法 690 23.5.3 使用border-image屬性來指定邊框寬度 692 23.5.4 指定4條邊中圖像的顯示方法 693 23.5.5 使用背景圖像 696 第24章 CSS 3中的變形處理 698 24.1 transform功能的基礎知識 698 24.1.1 如何使用transform功能 698 24.1.2 transform功能的分類 699 24.2 對一個元素使用多種變形 704 24.2.1 對一個元素使用多種變形的方法 704 24.2.2 指定變形的基準點 707 24.3 使用3D變形功能 709 24.3.1 3D變形功能概述 709 24.3.2 實現3D變形功能 710 24.4 變形矩陣 718 24.4.1 矩陣概述 718 24.4.2 變形與坐標係統 719 24.4.3 計算2D變形 719 24.4.4 計算3D變形 721 24.4.5 通過矩陣執行多重變形處理 722 第25章 CSS 3中的動畫功能 725 25.1 Transitions功能 725 25.1.1 Transitions功能的使用方法 726 25.1.2 使用Transitions功能同時平滑過渡多個屬性值 727 25.2 Animations功能 730 25.2.1 Animations功能的使用方法 730 25.2.2 實現多個屬性值同時改變的動畫 733 25.2.3 實現動畫的方法 736 25.2.4 實現網頁的淡入效果 737 第26章 布局相關樣式 739 26.1 多欄布局 740 26.1.1 使用float屬性或position屬性的缺點 740 26.1.2 使用多欄布局方式 741 26.2 盒布局 747 26.2.1 使用float屬性或position屬性時的缺點 747 26.2.2 使用盒布局 749 26.2.3 盒布局與多欄布局的區彆 750 26.3 彈性盒布局 751 26.3.1 對多個元素使用flex屬性 751 26.3.2 改變元素的顯示順序 753 26.3.3 改變元素的排列方嚮 754 26.3.4 元素寬度與高度的自適應 755 26.3.5 使用彈性盒布局來消除空白 758 26.3.6 對多個元素使用flex屬性 759 26.3.7 控製換行方式 766 26.3.8 指定水平方嚮與垂直方嚮的對齊方式 769 26.4 calc方法 781 26.4.1 calc方法概述 781 26.4.2 calc方法使用示例 781 第27章 Media Queries相關樣式 783 27.1 根據瀏覽器的窗口大小來選擇使用不同的樣式 783 27.2 在iPhone中的顯示 788 27.3 Media Queries的使用方法 789 第28章 CSS 3的其他重要樣式和屬性 792 28.1 顔色相關樣式 792 28.1.1 利用alpha通道來設定顔色 793 28.1.2 alpha通道與opacity屬性的區彆 795 28.1.3 指定顔色值為transparent 797 28.2 用戶界麵相關樣式 798 28.2.1 輪廓相關樣式 799 28.2.2 resize屬性 801 28.3 使用initial屬性值取消對元素的樣式指定 802 28.3.1 取消對元素的樣式指定 802 28.3.2 使用initial屬性值並不等於取消樣式設定的特例 804 28.4 實現CSS 3中的濾鏡特效 805 28.4.1 濾鏡特效概述 805 28.4.2 實現濾鏡特效 806 第29章 綜閤實例 815 29.1 實例1:使用HTML 5中新增結構元素來構建網頁 815 29.1.1 組織網頁結構 815 29.1.2 構建網頁標題 818 29.1.3 構建側邊欄 820 29.1.4 構建主體內容 823 29.1.5 構建版權信息 829 29.2 實例2:使用HTML 5+CSS 3來構建Web應用程序 829 29.2.1 HTML 5頁麵代碼分析 830 29.2.2 CSS 3樣式代碼分析 833 29.2.3 腳本代碼分析 836 附錄A 截至2015年5月五大瀏覽器最新版對HTML 5的支持情況 844 《HTML 5與CSS 3權威指南(下冊) (第3版)》 前 言 上 冊 第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 8 5 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 新增的f igure元素與f igcaption元素 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對象與f ile對象 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 f ilesystem: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 requestAnimationFrame 524 17.4.1 requestAnimationFrame概述 524 17.4.2 requestAnimFrame代碼使用示例 524 17.5 Mutation Observer 526 17.6 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 下 冊 第18章 CSS 3概述 553 18.1 概要介紹 553 18.1.1 CSS 3是什麼 553 18.1.2 CSS 3的曆史 554 18.2 使用CSS 3能做什麼 554 18.2.1 模塊與模塊化結構 554 18.2.2 一個簡單的CSS 3示例 556 第19章 選擇器 559 19.1 選擇器概述 560 19.2 屬性選擇器 561 19.2.1 屬性選擇器概述 561 19.2.2 CSS 3中的屬性選擇器 563 19.2.3 靈活運用屬性選擇器 564 19.3 結構性僞類選擇器 565 19.3.1 CSS中的僞類選擇器及僞元素 565 19.3.2 選擇器root、not、empty和target 570 19.3.3 選擇器f irst-child、last-child、nth-child和nth-last-child 574 19.3.4 選擇器nth-of-type和nth-last-of-type 579 19.3.5 循環使用樣式 582 19.3.6 only-child選擇器 584 19.4 UI元素狀態僞類選擇器 585 19.4.1 僞類選擇器E:hover、E:active和E:focus 586 19.4.2 僞類選擇器E:enabled與E:disabled 588 19.4.3 僞類選擇器E:read-only與E:read-write 589 19.4.4 僞類選擇器E:checked、E:default和E:indeterminate 590 19.4.5 僞類選擇器E::selection 593 19.4.6 僞類選擇器E:invalid與E:valid 595 19.4.7 僞類選擇器E:required與E:optional 596 19.4.8 僞類選擇器E:in-range與E:out-of-range 596 19.5 通用兄弟元素選擇器 597 第20章 使用選擇器在頁麵中插入內容 599 20.1 使用選擇器來插入文字 599 20.1.1 使用選擇器來插入內容 599 20.1.2 指定個彆元素不進行插入 601 20.2 插入圖像文件 602 20.2.1 在標題前插入圖像文件 602 20.2.2 插入圖像文件的好處 603 20.2.3 將alt屬性的值作為圖像的標題來顯示 605 20.3 使用content屬性來插入項目編號 605 20.3.1 在多個標題前加上連續編號 606 20.3.2 在項目編號中追加文字 607 20.3.3 指定編號的樣式 607 20.3.4 指定編號的種類 608 20.3.5 編號嵌套 608 20.3.6 中編號中嵌入大編號 610 20.3.7 在字符串兩邊添加嵌套文字符號 611 第21章 文字與字體相關樣式 614 21.1 給文字添加陰影——text-shadow屬性 614 21.1.1 text-shadow屬性的使用方法 614 21.1.2 位移距離 616 21.1.3 陰影的模糊半徑 617 21.1.4 陰影的顔色 617 21.1.5 指定多個陰影 618 21.2 讓文本自動換行——word-break屬性 618 21.2.1 依靠瀏覽器讓文本自動換行 619 21.2.2 指定自動換行的處理方法 619 21.3 讓長單詞與URL地址自動換行——word-wrap屬性 621 21.4 使用服務器端字體——Web Font與@font-face屬性 621 21.4.1 在網頁上顯示服務器端字體 621 21.4.2 定義斜體或粗體字體 623 21.4.3 顯示客戶端本地的字體 625 21.4.4 屬性值的指定 627 21.5 修改字體種類而保持字體尺寸不變——font-size-adjust屬性 628 21.5.1 字體不同導緻文字大小的不同 628 21.5.2 font-size-adjust屬性的使用方法 629 21.5.3 瀏覽器對於aspect值的計算方法 629 21.5.4 font-size-adjust屬性的使用示例 630 21.6 使用rem單位定義字體大小 631 第22章 盒相關樣式 633 22.1 盒的類型 633 22.1.1 盒的基本類型 633 22.1.2 inline-block類型 635 22.1.3 inline-table類型 642 22.1.4 list-item類型 644 22.1.5 run-in類型與compact類型 645 22.1.6 錶格相關類型 646 22.1.7 none類型 648 22.1.8 各種瀏覽器對於各種盒類型的支持情況 649 22.2 對於盒中容納不下的內容的顯示 650 22.2.1 overf low屬性 650 22.2.2 overf low-x屬性與overf low-y屬性 653 22.2.3 text-overf low屬性 654 22.3 對盒使用陰影 656 22.3.1 box-shadow屬性的使用方法 656 22.3.2 將參數設定為0 656 22.3.3 創建盒內陰影 658 22.3.4 對盒內子元素使用陰影 658 22.3.5 對第一個文字或第一行使用陰影 659 22.3.6 對錶格及單元格使用陰影 660 22.4 指定針對元素的寬度與高度的計算方法 661 22.4.1 box-sizing屬性 661 22.4.2 為什麼要使用box-sizing屬性 664 第23章 背景與邊框相關樣式 666 23.1 與背景相關的新增屬性 666 23.1.1 指定背景的顯示範圍——background-clip屬性 667 23.1.2 指定背景圖像的繪製起點——background-origin屬性 669 23.1.3 指定背景圖像的尺寸——background-size屬性 672 23.1.4 新增的用於平鋪背景圖像的選項——space與round 676 23.2 在一個元素中顯示多個背景圖像 678 23.3 使用漸變色背景 679 23.3.1 繪製綫性漸變 679 23.3.2 繪製放射性漸變 682 23.4 圓角邊框的繪製 685 23.4.1 border-radius屬性 686 23.4.2 在border-radius屬性中指定兩個半徑 686 23.4.3 不顯示邊框的時候 687 23.4.4 修改邊框種類的時候 688 23.4.5 繪製四個角不同半徑的圓角邊框 688 23.5 使用圖像邊框 688 23.5.1 border-image屬性 688 23.5.2 border-image屬性的最簡單的使用方法 690 23.5.3 使用border-image屬性來指定邊框寬度 692 23.5.4 指定4條邊中圖像的顯示方法 693 23.5.5 使用背景圖像 696 第24章 CSS 3中的變形處理 698 24.1 transform功能的基礎知識 698 24.1.1 如何使用transform功能 698 24.1.2 transform功能的分類 699 24.2 對一個元素使用多種變形 704 24.2.1 對一個元素使用多種變形的方法 704 24.2.2 指定變形的基準點 707 24.3 使用3D變形功能 709 24.3.1 3D變形功能概述 709 24.3.2 實現3D變形功能 710 24.4 變形矩陣 718 24.4.1 矩陣概述 718 24.4.2 變形與坐標係統 719 24.4.3 計算2D變形 719 24.4.4 計算3D變形 721 24.4.5 通過矩陣執行多重變形處理 722 第25章 CSS 3中的動畫功能 725 25.1 Transitions功能 725 25.1.1 Transitions功能的使用方法 726 25.1.2 使用Transitions功能同時平滑過渡多個屬性值 727 25.2 Animations功能 730 25.2.1 Animations功能的使用方法 730 25.2.2 實現多個屬性值同時改變的動畫 733 25.2.3 實現動畫的方法 736 25.2.4 實現網頁的淡入效果 737 第26章 布局相關樣式 739 26.1 多欄布局 740 26.1.1 使用f loat屬性或position屬性的缺點 740 26.1.2 使用多欄布局方式 741 26.2 盒布局 747 26.2.1 使用f loat屬性或position屬性時的缺點 747 26.2.2 使用盒布局 749 26.2.3 盒布局與多欄布局的區彆 750 26.3 彈性盒布局 751 26.3.1 對多個元素使用f lex屬性 751 26.3.2 改變元素的顯示順序 753 26.3.3 改變元素的排列方嚮 754 26.3.4 元素寬度與高度的自適應 755 26.3.5 使用彈性盒布局來消除空白 758 26.3.6 對多個元素使用f lex屬性 759 26.3.7 控製換行方式 766 26.3.8 指定水平方嚮與垂直方嚮的對齊方式 769 26.4 calc方法 781 26.4.1 calc方法概述 781 26.4.2 calc方法使用示例 781 第27章 Media Queries相關樣式 783 27.1 根據瀏覽器的窗口大小來選擇使用不同的樣式 783 27.2 在iPhone中的顯示 788 27.3 Media Queries的使用方法 789 第28章 CSS 3的其他重要樣式和屬性 792 28.1 顔色相關樣式 792 28.1.1 利用alpha通道來設定顔色 793 28.1.2 alpha通道與opacity屬性的區彆 795 28.1.3 指定顔色值為transparent 797 28.2 用戶界麵相關樣式 798 28.2.1 輪廓相關樣式 799 28.2.2 resize屬性 801 28.3 使用initial屬性值取消對元素的樣式指定 802 28.3.1 取消對元素的樣式指定 802 28.3.2 使用initial屬性值並不等於取消樣式設定的特例 804 28.4 實現CSS 3中的濾鏡特效 805 28.4.1 濾鏡特效概述 805 28.4.2 實現濾鏡特效 806 第29章 綜閤實例 815 29.1 實例1:使用HTML 5中新增結構元素來構建網頁 815 29.1.1 組織網頁結構 815 29.1.2 構建網頁標題 818 29.1.3 構建側邊欄 820 29.1.4 構建主體內容 823 29.1.5 構建版權信息 829 29.2 實例2:使用HTML 5+CSS 3來構建Web應用程序 829 29.2.1 HTML 5頁麵代碼分析 830 29.2.2 CSS 3樣式代碼分析 833 29.2.3 腳本代碼分析 836 附錄A 截至2015年5月五大瀏覽器最新版對HTML 5的支持情況 844 |
編輯推薦 |
超級暢銷書,HTML 5與CSS 3領域公認的標杆之作,前兩版纍計印刷超過15次,網絡書店評論超過8000條。 資深專傢根據HTML 5與CSS 3最新技術標準撰寫,內容係統而全麵,詳盡講解瞭HTML 5與CSS 3的功能和特性,包含大量案例,可操作性極強。 |
有点贵:不过也值得吧!还行
评分东西不错。中通物流不行,送完货也不发消息通知,每天的自己盯着查。
评分技术部员工的专业书籍。好评
评分技术部员工的专业书籍。好评
评分很不错
评分挺好的书刚看了一点
评分盗版书,不是彩印,伤心… 都是黑白图片怎么看css出来的样式。跟之前在图书馆借过的这本书没法比…
评分很实用的书本!
评分挺不错的书,老师推荐买的,很有用
本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 tushu.tinynews.org All Rights Reserved. 求知書站 版权所有