第1章 HTML5和CSS3概述 1
1.1 強大的Web開發平颱 1
1.1.1 嚮後兼容 1
1.1.2 更具描述性的標記 2
1.1.3 更加簡化 2
1.1.4 用戶界麵增強 2
1.1.5 更好的錶單控件 3
1.1.6 可訪問性增強 3
1.1.7 更高級的選擇器 4
1.1.8 視覺效果 4
1.1.9 更少依賴插件的多媒體功能實現 4
1.1.10 應用能力增強 4
1.1.11 跨文檔通信 4
1.1.12 Web Sockets 4
1.1.13 客戶端存儲 5
1.2 注定充滿挑戰的未來之路 5
1.2.1 處理老版本的IE 5
1.2.2 可訪問性 5
1.2.3 廢棄的標簽 6
1.2.4 市場利益的激烈競爭 7
1.2.5 HTML5和CSS3的標準仍在不斷發展中 7
第一部分 用戶界麵增強
第2章 新的結構化標簽和屬性 10
2.1 實例1:用語義標記重新定義博客 11
2.1.1 一切皆始於正確的文檔類型 13
2.1.2 頁眉標簽 13
2.1.3 頁腳標簽 14
2.1.4 導航標簽 14
2.1.5 區塊和文章 15
2.1.6 旁白與側邊欄 16
2.1.7 為博客設置樣式 18
2.1.8 迴退方案 20
2.2 實例2:用<meter>元素實現進度條 21
2.2.1 迴退方案 22
2.2.2 進度條標簽 24
2.3 實例3:用自定義數據屬性構造彈齣窗體 25
2.3.1 行為與內容分離,以及
onclick()的問題 25
2.3.2 增強可訪問性 25
2.3.3 不用onclick() 26
2.3.4 引入自定義數據屬性 27
2.3.5 迴退方案 27
2.4 實例4:常見問題描述列錶 28
2.5 未來展望 29
第3章 創建友好的Web錶單 30
3.1 實例5:使用新的輸入字段描述數據 31
3.1.1 錶單描述 32
3.1.2 使用範圍字段創建滑動條 33
3.1.3 使用選值框處理數值 33
3.1.4 日期選擇字段 34
3.1.5 電子郵件字段 34
3.1.6 URL字段 35
3.1.7 顔色選擇字段 35
3.1.8 給錶單設置樣式 36
3.1.9 迴退方案 36
3.2 實例6:藉助autofocus跳到錶單第一個字段 41
3.3 實例7:通過占位文本提供提示信息 41
3.4 實例8:不藉助JavaScript驗證用戶輸入 45
3.4.1 正則錶達式驗證 46
3.4.2 為字段添加樣式 47
3.4.3 迴退方案 48
3.5 實例9:通過contenteditable屬性實現就地編輯功能 49
3.5.1 用戶資料錶單 50
3.5.2 數據持久化 51
3.5.3 迴退方案 52
3.6 未來展望 55
第4章 設置內容及界麵的樣式 57
4.1 實例10:使用僞類設置錶格樣式 58
4.1.1 使用:nth-of-type給錶格行設置條紋 60
4.1.2 使用:nth-child對齊錶格列的內容 61
4.1.3 使用:last-child加粗錶格最後一行 62
4.1.4 使用:nth-last-child反嚮遍曆元素 63
4.1.5 迴退方案 64
4.2 實例11:使用:after和content生成打印友好的鏈接 65
4.2.1 創建隻適用於打印的樣式錶 66
4.2.2 雙冒號語法 67
4.3 實例12:使用媒體查詢構建移動頁麵 67
4.4 實例13:創建多欄布局 70
4.4.1 拆分欄 70
4.4.2 特定廠商的前綴 73
4.4.3 迴退方案 74
4.5 未來展望 75
第5章 構建可訪問性界麵 76
5.1 實例14:使用ARIA role屬性提供導航提示 77
5.1.1 地標角色 78
5.1.2 文檔結構角色 80
5.1.3 迴退方案 80
5.2 實例15:創建訪問性良好的可更新區域 81
5.2.1 創建頁麵 82
5.2.2 隱藏內容區域 85
5.2.3 迴退方案 86
5.3 實例16:提升錶格的可訪問性 86
5.3.1 把標題與列結閤起來 88
5.3.2 用題注和描述解釋錶格 89
5.4 未來展望 90
第二部分 新視角、新聲音
第6章 在瀏覽器中畫圖 92
6.1 實例17:在畫布上繪製商標 92
6.1.1 繪製綫條 95
6.1.2 添加“AwesomeCo”文本信息 96
6.1.3 移動原點坐標 97
6.1.4 為對象設置漸變效果 98
6.1.5 迴退方案 98
6.2 實例18:使用RGraph實現圖錶統計 99
6.2.1 使用HTML描述數據 100
6.2.2 將HTML描述內容轉換成柱狀圖 102
6.2.3 顯示替代內容 103
6.2.4 迴退方案 103
6.3 實例19:使用SVG繪製矢量圖形 104
6.3.1 繪製綫條 105
6.3.2 添加文本信息 105
6.3.3 繪製形狀 106
6.3.4 通過路徑進行手工繪製 106
6.3.5 迴退方案 107
6.4 未來展望 108
第7章 嵌入音頻和視頻 109
7.1 曆史迴顧 109
7.2 容器與編解碼器 110
7.2.1 視頻編解碼器 110
7.2.2 音頻編解碼器 112
7.2.3 容器與編解碼器協同工作 113
7.3 實例20:音頻特性 113
7.3.1 創建基本的音頻列錶 113
7.3.2 迴退方案 115
7.4 實例21:嵌入視頻 117
7.5 實例22:視頻播放的可訪問性 121
7.5.1 添加字幕 122
7.5.2 HTML5視頻技術的局限性 123
7.6 未來展望 124
第8章 視覺特效 125
8.1 實例23:設置圓角 126
8.1.1 柔化登錄錶單 126
8.1.2 迴退方案 128
8.2 實例24:陰影、漸變及轉換 129
8.2.1 基本結構 130
8.2.2 添加漸進效果 131
8.2.3 添加陰影效果 132
8.2.4 鏇轉姓名牌 133
8.2.5 使用矩陣精確轉換 134
8.2.6 透明背景 134
8.2.7 迴退方案 135
8.3 實例25:設置字體 136
8.3.1 @font-face 137
8.3.2 字體格式 137
8.3.3 改變字體 137
8.3.4 迴退方案 139
8.4 實例26:通過過渡和動畫特性移動物體 140
8.4.1 使用CSS過渡特性實現淡入淡齣效果 140
8.4.2 理解調速函數 141
8.4.3 創建過渡特效 143
8.4.4 利用CSS3動畫特性實現錶單晃動效果 144
8.4.5 迴退方案 147
8.5 未來展望 149
第三部分 標記之外
第9章 客戶端數據儲存 152
9.1 實例27:用Web Storage存儲偏好設置 153
9.1.1 創建偏好設置錶單 154
9.1.2 保存及恢復偏好設置數據 155
9.1.3 為頁麵應用偏好設置值 156
9.1.4 迴退方案 157
9.2 實例28:使用IndexedDB將數據存儲到客戶端數據庫中 158
9.2.1 注意事項界麵 158
9.2.2 創建並連接數據庫 160
9.2.3 創建注意事項錶 162
9.2.4 加載注意事項 162
9.2.5 讀取特定記錄 164
9.2.6 創建、更新以及刪除記錄 165
9.2.7 迴退方案 169
9.3 實例29:離綫應用 170
9.3.1 通過manifest文件定義應用程序緩存 170
9.3.2 manifest文件與服務器端緩存設置 172
9.3.3 檢測網絡連通性 172
9.4 未來展望 173
第10章 創建交互式Web應用 174
10.1 實例30:保存曆史記錄 174
10.1.1 存儲當前狀態 175
10.1.2 恢復上一狀態 176
10.1.3 設置默認狀態 176
10.1.4 迴退方案 177
10.2 實例31:跨域通信 178
10.2.1 聯係人列錶 179
10.2.2 發送消息 181
10.2.3 支持網站 181
10.2.4 接收消息 183
10.2.5 IE 8及IE 9中的限製 183
10.3 實例32:WebSocket聊天 184
10.3.1 聊天界麵 184
10.3.2 與聊天服務器的通信 186
10.3.3 迴退方案 188
10.3.4 Flash Socket策略文件 189
10.4 實例33:你在哪兒:Geolocation 190
10.4.1 為AwesomeCo公司開發定位功能 191
10.4.2 如何被找到 192
10.4.3 迴退方案 192
10.5 實例34:通過拖放來整理內容 194
10.5.1 創建基本用戶界麵 194
10.5.2 添加卡片到界麵 195
10.5.3 整理卡片 196
10.5.4 迴退方案 199
10.6 未來展望 200
第11章 未來之路 202
11.1 使用彈性盒子模型定義布局 202
11.2 跨域資源共享 205
11.3 Web Workers 205
11.4 服務器發送事件 210
11.4.1 監聽事件 210
11.4.2 實現你自己的服務器 212
11.5 濾鏡效果 212
11.6 WebGL 213
11.7 前進! 214
附錄A 快速參考 215
附錄B jQuery快速入門 220
附錄C 針對Web的音頻和視頻編碼 229
附錄D 相關資源 231
參考文獻 233
· · · · · · (
收起)