關於作者 xiv
關於技術審閱人 xv
關於封麵設計者 xvi
緻謝 xvii
引言 xix
第1章 起步:HTML5的演變 1
1.1 HTML5 = HTML • HTML5 1
1.1.1 HTML5齣現之前 1
1.1.2 為什麼XHTML 2.0消失瞭,而HTML5流行瞭 2
1.1.3 WHATWG的理念 2
1.1.4 HTML5的現狀 3
1.2 剖析HTML5文檔 4
1.3 HTML術語和概念 5
1.3.1 元素 6
1.3.2 屬性 6
1.3.3 文檔模型 7
1.4 HTML5的新特性 9
1.4.1 嚮後兼容 9
1.4.2 錯誤處理 9
1.4.3 簡化的doctype 10
1.4.4 簡化的字符編碼 11
1.4.5 新的內容模型類彆 12
1.4.6 新元素 13
1.4.7 微數據 13
1.4.8 內嵌MathML和SVG 13
1.4.9 API 14
1.4.10 不再遵循SGML(又一次!) 14
1.4.11 廢棄的特性 14
1.5 XHTML消失瞭嗎 17
1.5.1 MIME類型的問題 18
1.6 在HTML和XHTML之間選擇 18
1.7 瀏覽器支持情況 19
1.8 瀏覽器開發工具 20
小結 21
第2章 各司其職的標簽 22
2.1 全局屬性 23
2.1.1 可訪問性 24
2.1.2 元數據(metadata) 25
2.1.3 唯一標識 26
2.1.4 可編輯性 28
2.1.5 拼寫檢查 28
2.1.6 隱藏元素 28
2.1.7 拖曳 29
2.1.8 樣式 29
2.1.9 文字方嚮 29
2.1.10 自定義數據 30
2.2 內容模型類彆 30
2.3 根元素 31
2.3.1 html元素的屬性 33
2.4 文檔元數據和腳本元素 33
2.4.1 網頁信息:title和meta 34
2.4.2 鏈接、樣式和資源:base、link和style 36
2.4.3 增加行為和後備內容:script 和 noscript 38
2.5 文檔區塊元素 40
2.5.1 語義區塊元素 40
2.6 內容分組元素 41
2.6.1 無法避免的段落:p 42
2.6.2 打斷內容:hr 43
2.6.3 保持格式:pre 43
2.6.4 引用文字:blockquote 43
2.6.5 列錶 43
2.6.6 圖錶、照片、圖示:figure和figcaption 47
2.6.7 創建分塊:div 47
2.7 文本級語義元素 48
2.8 錶格數據元素 49
2.8.1 錶格基礎 50
2.8.2 添加錶頭 51
2.8.3 增加說明:caption 52
2.8.4 增加結構:thead、tfoot 和 tbody 52
2.8.5 添加更多結構:colgroup和 col 54
2.9 錶單元素 56
2.10 內嵌內容元素 57
2.11 交互元素 59
2.11.1 顯示更多:summary 和 details 60
2.11.2 工具條:menu和command 62
小結 62
第3章 認識語義 63
3.1 什麼是語義,跟我有什麼關係 63
3.2 用大綱思考 64
3.3 HTML5 大綱算法 65
3.4 用標題內容隱性地創建大綱 66
3.5 用區塊內容創建大綱 67
3.5.1 提高大綱的語義 68
3.6 頭和尾 70
3.6.1 使用hgroup 71
3.6.2 格式化有地址的尾部 71
3.6.3 確定頭尾內容 72
3.7 查看HTML5大綱 73
3.8 div和span過時瞭嗎 74
3.9 案例學習:《城市新聞報》 74
3.9.1 添加文本級語義 76
3.10 其他文本級元素 84
3.10.1 作品標題:cite 85
3.10.2 格式化計算機輸入/輸齣:code、var、samp、kbd 85
3.10.3 標記文本編輯:ins和del 85
3.10.4 處理外來腳本 85
小結 87
第4章 精通錶單 88
4.1 錶單元素復習 88
4.1.1 分析錶單元素 89
4.1.2 錶單元素屬性 90
4.2 獲取輸入 91
4.2.1 最初的輸入類型 93
4.2.2 新輸入類型 98
4.3 校驗和提交錶單 102
4.3.1 輸入字段必填 103
4.3.2 用按鈕和圖片提交錶單 103
4.4 其他常用input元素屬性 105
4.4.1 提供占位符文字 105
4.4.2 字段隻讀 106
4.4.3 autocomplete 和 autofocus 106
4.4.4 使用數據列錶 107
4.5 其他錶單控件 108
4.5.1 菜單 108
4.5.2 文本塊 111
4.5.3 顯示進度 112
4.5.4 顯示度量 112
4.5.5 顯示計算的輸齣 114
4.5.6 密鑰生成器 115
4.6 用fieldset和label添加結構 115
4.7 完整的錶單 117
4.7.1 第一頁:收集用戶詳情 117
4.7.2 第二頁:收集評論 121
4.7.3 第三頁: 確認信息 123
4.8 錶單可用性 124
4.8.1 各司其職的輸入類型 124
4.8.2 保持簡潔 124
4.8.3 彆讓我思考、彆讓我費力、彆騙我 125
4.8.4 記住互聯網是全球的 125
4.8.5 需要時提供後備方案 125
小結 126
第5章 多媒體:視頻、音頻和內嵌媒體 127
5.1 一切的開始:img 127
5.2 圖像映射 130
5.3 嵌入其他媒體 132
5.3.1 embed元素 132
5.3.2 object元素 133
5.4 嵌入的HTML:iframe 135
5.4.1 處理iframe元素裏的內容 136
5.4.2 新的iframe元素屬性 137
5.4.3 指嚮iframe 138
5.5 視頻 139
5.5.1 視頻格式 139
5.5.2 版權問題 140
5.5.3 處理視頻源 140
5.5.4 視頻屬性 144
5.6 音頻 146
5.6.1 音頻格式 147
5.7 文字軌 148
5.8 編碼音頻和視頻 149
5.9 最後一個重要元素 150
小結 150
第6章 CSS3 151
6.1 當前狀態:CSS2.1 151
6.2 CSS3 模塊 152
6.3 使用CSS 153
6.3.1 附上樣式錶 153
6.3.2 CSS樣式規則 155
6.3.3 基本的CSS選擇器語法 157
6.3.4 高級選擇器 161
6.3.5 高效使用選擇器 175
6.3.6 CSS盒模型 176
6.4 背景和邊框 180
6.4.1 基本背景色和圖片 180
6.4.2 多重背景 184
6.4.3 圓角 185
6.4.4 陰影 185
6.5 顔色 186
6.5.1 屏幕上的顔色 186
6.5.2 功能符語法 188
6.5.3 色調、飽和度、亮度 188
6.5.4 不透明度 189
6.6 網頁字體的編排設計 190
6.6.1 網頁字體 190
6.6.2 多列 192
6.6.3 文字特效 192
6.6.4 字體的規則 193
小結 194
第7章 用戶交互和HTML5 API 195
7.1 使用本章的JavaScript 195
7.1.1 操作DOM屬性和方法 196
7.1.2 控製颱日誌 197
7.1.3 事件 199
7.2 曆史API 200
7.2.1 非常簡單的Ajax 201
7.2.2 基於曆史的Ajax 203
7.3 構建自定義視頻控製器 205
7.4 2D Canvas API 編程 208
7.4.1 畫布繪圖 211
7.4.2 畫布狀態 215
7.4.3 畫布的交互 216
7.4.4 畫布動畫 217
7.5 拖曳操作 219
7.5.1 用拖曳排序列錶 225
小結 227
第8章 前方的路 228
8.1 移動互聯網的挑戰 228
8.2 響應式設計 229
8.2.1 viewport 229
8.2.2 媒體查詢 231
8.3 離綫應用緩存 233
8.4 其他HTML5技術 234
8.4.1 微數據 234
8.4.2 撤銷管理器API 236
8.4.3 即將到來的CSS技術 236
小結 237
附錄A 相關技術 239
索引 251
· · · · · · (
收起)