瘋狂 HTML 5+CSS 3+JavaScript 講義, 2/e 疯狂HTML 5+CSS 3+JavaScript讲义(第2版)
李剛
- 出版商: 電子工業
- 出版日期: 2017-05-01
- 定價: $534
- 售價: 8.5 折 $454
- 語言: 簡體中文
- 頁數: 654
- 裝訂: 平裝
- ISBN: 7121314053
- ISBN-13: 9787121314056
-
相關分類:
CSS、HTML、JavaScript
立即出貨(限量) (庫存=1)
買這商品的人也買了...
-
$560$437 -
$660$515 -
$490$382 -
$352實戰 Java 高並發程序設計
-
$420$332 -
$650$553 -
$174Spring + MyBatis 企業應用實戰
-
$352深入淺出 React 和 Redux
-
$250React快速上手開發
-
$281大型 JavaScript 應用最佳實踐指南
-
$580$452 -
$403瘋狂前端開發講義 — jQuery + AngularJS + Bootstrap 前端開發實戰
-
$500$390 -
$352PHP7動態網站開發案例課堂(第2版)
-
$250Java 9 口袋指南, 4/e (Java Pocket Guide: Instant Help for Java Programmers, 4/e)
-
$458ASP.NET 項目開發全程實錄, 4/e
-
$602瘋狂 Python 講義
-
$834$792 -
$709瘋狂 Java 講義, 5/e
-
$620$484 -
$720$562 -
$880$660 -
$560$437 -
$880$695 -
$880$695
相關主題
商品描述
W3C於2016年11月1日正式發布了HTML 5.1規範,該規範已經得到廣大瀏覽器廠商的支持,主流的最新版本的瀏覽器幾乎都支持該規範。與此同時,前端開發的持續火爆,使得HTML 5成為目前的熱門領域。本書是一本全面介紹HTML 5、CSS 3和JavaScript前端開發技術的圖書,系統地介紹了HTML 5常用的元素和屬性、HTML 5的表單元素和屬性、HTML 5的繪圖支持、HTML 5的多媒體支持、CSS 3的功能和用法、最前沿的變形與動畫功能等。除此之外,本書還系統地介紹了JavaScript編程知識,包括JavaScript基本語法、DOM編程,以及HTML 5新增的本地存儲、Indexed數據庫、離線應用、JavaScript多線程、客戶端通信支持、WebSocket編程等。本書的定位是一本前端開發的“實戰性”圖書,因此在介紹各知識點時並不是簡單地停留在知識點層面闡述,而是結合了大量實例來讓讀者對照練習、學以致用。本書最後還提供了一個基於HTML 5技術的小游戲:瘋狂俄羅斯方塊。該游戲綜合運用了HTML 5的繪圖支持、客戶端存儲等技術,具有較高的參考價值。本書提供了配套的答疑網站,如果讀者在閱讀本書時遇到了技術問題,可以登錄瘋狂Java聯盟(http://www.crazyit.org)發帖,筆者將會及時予以解答。
作者簡介
十多年的軟件開發從業經驗,瘋狂軟件教育中心教學總監。瘋狂Java實訓營創始人,瘋狂Java體係原創圖書作者。
廣東技術師範學院計算機科學系的兼職副教授,51CTO專家門診特邀嘉賓。
培訓的學生已在華為、IBM、阿里軟件、網易、電信盈科等名企就職。國內著名高端IT技術作家,已出版《瘋狂Java講義》《瘋狂Android講義》《輕量級Java EE企業應用實戰》《瘋狂iOS講義(基礎篇)(高級篇)》《瘋狂Swift講義》《瘋狂Ajax講義》《瘋狂XML講義》
《經典Java EE企業應用實戰》《Struts 2.x權威指南》《瘋狂HTML 5/CSS 3/JavaScript講義》等著作。
其中瘋狂Java體系圖書均已沉澱多年、贏得極高的市場認同、多次重印成為超級暢銷圖書,並被多所“985”“211”高校選作教材,不少圖書已被翻譯成繁體中文版、 授權到台灣地區。
目錄大綱
第1章HTML 5簡介1
1.1 HTML歷史與HTML 5 2
1.1.1 HTML發展歷史2
1.1.2 HTML 4.01和XHTML 3
1.1.3 HTML和XHTML的文檔類型定義(DTD) 4
1.1.4從XHTML到HTML 5 5
1.2 HTML 5的優勢6
1.2.1解決跨瀏覽器問題6
1.2.2部分代替了原來的JavaScript 6
1.2.3更明確的語義支持7
1.2.4增強了Web應用程序的功能8
1.3 HTML 5的基本結構和語法變化8
1.3.1 HTML 5的基本結構8
1.3.2標籤不再區分大小寫9
1.3.3元素可以省略結束標籤10
1.3.4支持boolean值的屬性11
1.3.5允許屬性值不使用引號12
1.4本章小結12
第2章HTML 5的常用元素與屬性14
2.1 HTML 5保留的常用元素15
2.1.1基本元素15
2.1.2文本格式相關元素17
2.1.3語義相關元素19
2.1 .4使用a元素添加超鏈接和錨點21
2.1.5列表相關元素24
2.1.6使用img元素添加圖片27
2.1.7表格相關元素30
2.2 HTML 5增強的iframe元素34
2.2.1 HTML 5新增的srcdoc屬性35
2.2.2 HTML 5新增的seamless屬性36
2.2.3 HTML 5新增的 sandbox屬性36
2.3 HTML 5保留的通用屬性40
2.3.1 id、style、class屬性40
2.3.2 dir屬性41
2.3.3 title屬性42
2.3.4 lang屬性43
2.3.5 accesskey屬性43
2.3.6 tabindex屬性43
2.4 HTML 5新增的通用屬性44
2.4.1 contentEditable屬性44
2.4.2 designMode屬性46
2.4.3 hidden屬性46
2.4.4 spellcheck屬性47
2.4.5 contextmenu屬性47
2.5 HTML 5新增的結構元素48
2.5 .1 article與section元素48
2.5.2 header與footer元素51
2.5.3 nav與aside元素52
2.5.4 main元素53
2.5.5 figure與figcaption元素54
2.6 HTML 5新增的語義元素55
2.6.1 mark元素55
2.6.2 time元素56
2.6.3 details與summary元素56
2.6.4 ruby、rtc、rb、rt和rp元素57
2.6.5 bdi元素58
2.6.6 wbr元素58
2.6.7 menu和menuitem元素59
2.7 HTML 5頭部和元信息59
2.7.1 link元素60
2.7.2 base元素62
2.7.3 meta元素62
2.8 HTML 5新增的拖放API 63
2.8.1啟動拖動63
2.8.2接受“放” 65
2.8.3 DataTransfer對象67
2.8.4拖放行為69
2.8.5改變拖放圖標70
2.9本章小結71
第3章H TML 5表單相關的元素和屬性72
3.1 HTML原有的表單及表單控件73
3.1.1 form元素73
3.1.2 input元素74
3.1.3使用label定義標籤77
3.1.4使用button定義按鈕78
3.1.5 select與option元素79
3.1.6 HTML 5增強的textarea 80
3.1.7 fieldset與legend元素82
3.2 HTML 5新增的表單屬性83
3.2.1 form屬性83
3.2.2 formaction屬性83
3.2.3 formxxx屬性84
3.2 .4 autofocus屬性85
3.2.5 placeholder屬性85
3.2.6 list屬性86
3.2.7 autocomplete屬性87
3.2.8 label的control屬性88
3.2.9表單元素的labels屬性88
3.2.10文本框的selectionDirection屬性89
3.2 .11複選框的indeterminate屬性89
3.3 HTML 5新增的表單元素90
3.3.1功能豐富的input元素90
3.3.2 output元素93
3.3.3 meter元素94
3.3.4 progress元素95
3.3.5 keygen元素95
3.4 HTML 5新增的客戶端校驗96
3.4.1使用校驗屬性執行校驗96
3.4.2調用checkValidity方法進行校驗97
3.4.3自定義錯誤提示98
3.4.4關閉校驗99
3.5本章小結100
第4章HTML 5的繪圖支 101
4.1使用canvas元素102
4.2繪圖103
4.2.1 canvas繪圖基礎:CanvasRenderingContext2D 103
4.2.2繪製幾何圖形105
4.2.3點線模式107
4.2.4繪製字符串109
4.2.5設置陰影110
4.2.6使用路徑111
4.2.7繪製曲線115
4.2.8繪製位圖117
4.3坐標變換118
4.3.1使用坐標變換118
4.3.2坐標變換與路徑結合使用119
4.3.3使用矩陣變換121
4.4控制疊加風格123
4.5控制填充風格124
4.5.1線性漸變124
4.5.2徑向漸變126
4.5.3位圖填充127
4.6位圖處理128
4.6.1位圖裁剪128
4.6.2像素處理129
4.7輸出位圖132
4.8動畫製作133
4.8 .1基於定時器的動畫133
4.8.2基於requestAnimationFrame的動畫135
4.9本章小結136
第5章HTML 5的多媒體支持137
5.1使用audio和video元素138
5.2使用JavaScript腳本控制媒體播放141
5.2.1 HTMLAudioElement與HTMLVideoElement支持的方法141
5.2.2 HTMLAudioElement與HTMLVideoElement的屬性143
5.3事件監聽144
5.3.1事件144
5.3.2監聽器145
5.4 track 素146
5.4.1使用track元素添加字幕146
5.4.2 WebVTT文件簡介147
5.4.3字幕內容的標記148
5.5本章小結149
第6章級聯樣式單與CSS選擇器150
6.1樣式單概述151
6.1.1 CSS概述151
6.1.2 CSS的發展歷史152
6.2 CSS樣式單的基本使用152
6.2.1引入外部樣式文件152
6.2.2導入外部樣式單154
6.2.3使用內部CSS樣式155
6.2.4使用行內樣式156
6.3 CSS選擇器158
6.3.1元素選擇器158
6.3.2屬性選擇器159
6.3.3 ID選擇器161
6.3.4 class選擇器162
6.3.5包含選擇器163
6.3.6子選擇器164
6.3.7 CSS 3新增的兄弟選擇器165
6.3.8選擇器組合166
6.4偽元素選擇器167
6.4.1內容相關的屬性169
6.4.2插入圖像170
6.4.3只插入部分元素171
6.4.4配合quotes屬性執行插入171
6.4.5配合counter-increment屬性添加編號172
6.4.6使用自定義編號173
6.4.7添加多級編號174
6.5 CSS 3新增的偽類選擇器176
6.5.1結構性偽類選擇器176
6.5.2 UI元素狀態偽類選擇器186
6.5.3 :ta rget偽類選擇器193
6.5.4 :not偽類選擇器194
6.6在腳本中修改顯示樣式195
6.6.1隨機改變頁面的背景色195
6.6.2動態增加立體效果196
6.7本章小結197
第7章字體與文本相關屬性198
7.1字體相關屬性199
7.1.1使用text-shadow添加陰影201
7.1.2添加多個陰影202
7.1.3使用font-size-adjust屬性微調字體大小203
7.2 CSS 3支持的顏色表示方法205
7.3文本相關屬性206
7.3.1使用white-space控制空白的處理行為208
7.3.2文本自動換行:word-break 209
7.3.3用word-warp控制長單詞或URL地址換行210
7.4 CSS 3新增的服務器字體212
7.4.1使用服務器字體212
7.4.2定義粗體、斜體字213
7.4.3優先使用客戶端字體214
7.5本章小結215
第8章背景、邊框和邊距相關屬性216
8.1盒模型簡介217
8.2背景相關屬性217
8.2.1背景圖片固定219
8.2.2 CSS 3新增的background-clip屬性220
8.2.3 CSS 3新增的background-origin屬性221
8.2.4 CSS 3新增的background-size屬 222
8.2.5 CSS 3為background-repeat新增的space和round 224
8.2.6 CSS 3新增的多背景圖片225
8.3使用漸變背景226
8.3.1使用linear-gradient設置線性漸變226
8.3.2使用repeating -linear-gradient設置循環線性漸變230
8.3.3使用radial-gradient設置徑向漸變231
8.3.4使用repeating-radial-gradient設置循環徑向漸變238
8.4邊框相關屬性239
8.4.1 CSS 3提供的漸變邊框241
8.4.2 CSS 3提供的圓角邊框242
8.4.3 CSS 3提供的圖片邊框244
8.5使用opacity控制透明度246
8.6 padding和margin相關屬性247
8.6.1內填充相關屬性247
8.6.2外邊距相關屬性248
8.7本章小結249
第9章大小、定位、輪廓相關屬性250
9.1 width、height相關屬性251
9.1.1 CSS 3新增的box-sizing屬性252
9.1.2 CSS 3新增的resize屬性253
9.1.3 CSS 3新增的calc函數254
9.2定位相關屬性255
9.3輪廓相關屬性257
9.4用戶界面和濾鏡屬性258
9.4.1 appearance屬性259
9.4.2使用filter屬性應用濾鏡260
9.5本章 結263
第10章盒模型與佈局相關屬性264
10.1盒模型和display屬性265
10.1.1兩種最基本的盒類型265
10.1.2 none值和visibility屬性267
10.1.3 inline-block類型的盒模型267
10.1.4 inline-table類型的盒模型270
10.1.5使用table類型的盒模型實現表格271
10.1.6 list-item類型的盒模型272
10.1.7 run-in類型的盒模型273
10.2對盒添加陰影275
10.2.1使用box-shadow屬性275
10.2.2對錶格及單元格添加陰影277
10.3佈局相關屬性278
10.3.1通過float屬性實現多欄佈局279
10.3.2使用clear屬性實現換行280
10.3.3使用overflow設置滾動條282
10.3.4使用overflow-style控制滾動方式283
10.3.5使用clip屬性控制裁剪284
10.4 CSS 3新增的多欄佈局285
10.4.1使用column-width指定欄寬度286
10.4.2使用column-gap和column-rule控制分欄間隔287
10.4.3使用column-span設置跨欄288
10.5使用彈性盒佈局289
10.5.1使用flex類型的盒模型290
10.5.2通過flex-direction指定盒內元 的排列方向291
10.5.3使用flex-wrap控制換行293
10.5.4使用order控制元素顯示順序294
10.5.5使用flex屬性控制子元素的縮放295
10.5.6使用align-items和align-self控制對齊方式301
10.5.7使用justify-content控制元素分佈302
10.5.8使用align-content控制行的分佈方式304
10.6本章小結306
第11章表格、列表相關屬性及media query 307
11.1表格相關屬性308
11.1.1使用border-collapse、border-spacing控制單元格邊框308
11.1.2使用caption-side控製表格標題的位置310
11.1.3使用table-layout控製表格佈局311
11.2列表相關屬性313
11.2.1使用list-style屬性控制列表項313
11.2.2使用list-style屬性控制普通元素315
11.3控制光標的屬性316
11.4 media query和響應式佈局317
11.4.1 media query語法318
11.4.2針對瀏覽器寬度響應式佈局319
11.4.3響應手機瀏覽器321
11.5本章小結323
第12章變形與動畫相關屬性324
12.1 CSS 3提供的變形支持325
12.1.1 4種 本變形326
12.1.2同時應用多種變形330
12.1.3指定變換中心點331
12.1.4使用矩陣變換333
12.2 CSS 3新增的3D變換337
12.2.1 perspective屬性337
12.2.2 transform-style屬性339
12.2.3 backface-visibility屬性340
12.3 CSS 3提供的Transition動畫341
12.3.1多個屬性同時漸變342
12.3.2指定動畫速度344
12.4 CSS 3提供的Animation動畫345
12.4.1同時改變多個屬性的動畫347
12.4.2魚眼效果348
12.5本章小結349
第13章JavaScript語法詳解350
13.1 JavaScript簡介351
13.1.1運行JavaScript 352
13.1.2導入JavaScript文件352
13.1.3使用script元素的defer推遲腳本執行353
13.1. 4使用script元素的async異步執行腳本354
13.1.5 noscript元素355
13.2數據類型和變量356
13.2.1定義變量的方式356
13.2.2類型轉換357
13.2.3變量作用域358
13.2.4變量提升361
13.2 .5新增的let變量362
13.2.6使用const定義常量363
13.3基本數據類型364
13.3.1數值類型364
13.3.2字符串類型369
13.3.3 布爾類型372
13.3.4 undefined和null 373
13.3.5正則表達式374
13.4複合類型376
13.4.1對象376
13.4.2數組376
13.4.3函數379
13.5運算符381
13.5.1賦值運算符381
13.5.2算術運算符382
13.5.3位運算符383
13.5.4加強的賦值運算符385
13.5.5比較運算符385
13.5.6邏輯運算符386
13.5.7三目運算符388
13.5.8逗號運算符389
13.5 .9 void運算符389
13.5.10 typeof和instanceof運算符390
13.6語句391
13.6.1語句塊391
13.6.2空語句391
13.6.3異常拋出語句392
13.6.4異常捕捉語句393
13.6.5 with語句394
13.7流程控制395
13.7.1分支395
13.7.2 while循環397
13.7.3 do while循環398
13.7.4 for循環398
13.7.5 for in循環399
13.7.6 break和continue 400
13.8函數403
13.8.1定義函數的3種方式403
13.8.2遞歸函數406
13.8.3局部變量和局部函數407
13.8.4函數、方法、對象、變量和類409
13.8.5函數的實例屬性和類屬性413
13.8.6調用函數的3種方式415
13.8.7函數的獨立性416
13.8.8函數提升418
13.8.9箭頭函數421
13.9函數的參數處理425
13.9.1基本類型和復合類型的參數傳遞425
13.9.2空參數426
13.9.3參數類型427
13.10面向對象429
13.10.1面向對象的概念429
13.10.2對象和關聯數組430
13.10.3繼承和prototype 431
13.10.4構造器實現偽繼承436
13.10.5使用apply或call實現偽繼承437
13.11創建對象437
13.11.1使用new關鍵字調用構造器創建對象438
13.11.2使用Object直接創建對象438
13.11.3使用JSON語法創建對象440
13.12本章小結443
第14章DOM編程詳解444
14.1 DOM模型概述445
14.2 DOM模型和HTML文檔446
14.2.1 HTML元素之間的繼承關係446
14.2.2 HTML元素之間常見的包含關係447
14.3訪問HTML元素448
14.3.1根據ID訪問HTML元素448
14.3.2根據CSS選擇器訪問HTML元素449
14.3.3利用節點關係訪問HTML元素451
14.3.4訪問表單控件453
14.3.5訪問列錶框、下拉菜單的選項454
14.3.6訪問表格子元素455
14.4修改HT ML元素456
14.5增加HTML元素458
14.5.1創建或複制節點458
14.5.2添加節點460
14.5.3為列錶框、下拉菜單添加選項460
14.5.4動態添加表格內容462
14.6刪除HTML元素463
14.6.1刪除節點463
14.6.2刪除列錶框、下拉菜單的選項464
14.6.3刪除表格的行或單元格465
14.7傳統的DHTML模型467
14.8使用window對象469
14.8.1訪問頁面URL 471
14.8.2客戶機屏幕信息472
14.8.3彈出新窗口473
14.8.4確認對話框和輸入對話框473
14.8.5使用定時器474
14.8.6桌面通知476
14.9 navigator和地理定位479
14.9.1 HTML 5新增的geolocation屬性480
14.9.2獲取地理位置481
14.9.3在高德地圖上定位483
14.9.4獲取電池信息484
14.10 HTML 5增強的History API 485
14.11使用document對象490
14.11.1動態頁面491
14.11.2讀寫Cookie 492
14.12 HTML 5新增的瀏覽器分析493
14.12.1分析時間性能493
14.12.2分析導航行為495
14.13本章小結496
第15章事件處理機制497
15.1事件模 型的基本概念498
15.2綁定事件處理函數499
15.2.1綁定HTML元素屬性499
15.2.2綁定JavaScript對象屬性501
15.2.3 addEventListener與attachEvent 502
15.3事件處理函數的執行環境505
15.3.1事件處理函數中this關鍵字505
15.3.2訪問事件對象507
15.3.3使用返回值取消默認行為510
15.3.4調用順序510
15.3.5在代碼中觸發事件511
15.3.6事件傳播512
15.3.7取消事件的默認行為517
15.3.8轉發事件519
15.4事件類型521
15.4.1事件類型概述521
15.4.2文檔事件523
15.4.3鼠標滾輪事件525
15.4.4鍵盤事件528
15.4.5觸屏事件和移動設備事件529
15.5本章小結534
第16章本地存儲與離線應用535
16.1 Web Storage 536
16.1.1 Storage接口536
16.1.2使用Storage存儲、讀取數據538
16.1.3基於Web Storage的記事本539
16.1.4存儲結構化數據541
16.1.5監聽存儲事件543
16.2 Indexed數據庫API 545
16.2.1使用IDBFactory打開數據庫545
16.2.2使用IDBDatabase創建對象存 儲和索引547
16.2.3使用IDBTransaction(事務) 550
16.2.4使用IDBObjectStore執行CRUD操作551
16.2.5使用IDBObjectStore根據主鍵檢索數據557
16.2.6使用IDBIndex根據索引檢索數據559
16.2.7使用複合索引562
16.3離線應用564
16.3.1離線應用與瀏覽器緩存的區別564
16.3.2構建離線應用564
16.3.3判斷在線狀態566
16.3.4 applicationCache對象567
16.3.5離線應用的事件與監聽569
16.4本章小結571
第17章文件支持與二進制數據572
17.1 HTML 5增強的文件上傳域573
17.1.1 FileList對象與File對象573
17.1.2使用FileReader讀取文件內容574
17.2 ArrayBuffer與TypedArray 578
17.2.1 TypedArray類579
17.2.2 DataView類581
17.3 Blob類583
17.3.1使用Blob對象583
17.3.2存儲Blob對象585
17.4本章小結587
第18章Web Worker多線程API 588
18.1使用Worker創建多線程589
18.2與Worker線程進行數據交換591
18.2 .1與Worker線程交換數據591
18.2.2 Worker線程中可用的API 593
18.3 Worker 程嵌套594
18.3.1嵌套Worker線程594
18.3.2子線程之間的數據交換596
18.4使用SharedWorker創建共享線程597
18.4.1 SharedWorker的用法598
18.4.2共享線程實例601
18.5 Promise 603
18.5.1 Promise基本用法603
18.5.2鍊式調用then方法605
18.5.3 Promise鏈606
18.5.4 catch的用法607
18.5.5 all和race的用法609
18.6本章小結611
第19章客戶端通信612
19.1跨文檔消息傳遞613
19.1.1 postMessage與onmessage 613
19.1.2跨文檔消息傳遞示例614
19.1.3發送複雜消息616
19.1.4使用MessageChannel通信618
19.2使用WebSocket與服務器通信621
19.2.1 WebSocket接口622
19.2.2使用WebSocket進行通信623
19.2.3基於WebSocket的多人實時聊天625
19.2.4發送二進制數據627
19.3使用Server-Sent Events API 630
19.3.1使用EventSource獲取數據630
19.3.2 EventSource的生命週期633
19.4使用Beacon 635
19.5本章小結636
第20章HTML 5的瘋狂俄羅斯方塊637
20.1俄羅斯方塊簡介638
20.2開發遊戲界面6 39
20.2.1開發界面佈局639
20.2.2開發遊戲界面組件640
20.3俄羅斯方塊的數據模型640
20.3.1定義數據模型641
20.3.2初始化遊戲狀態數據641
20.4實現遊戲邏輯644
20.4.1處理方塊掉落644
20.4.2處理方塊左移648
20.4.3處理方塊右移650
20.4.4處理方塊旋轉651
20.4.5初始化遊戲狀態653
20.5本章小結654