針對(duì)新版本瀏覽器,討論亟待解決的實(shí)際問(wèn)題。
每一章分別聚焦某特定問(wèn)題,通過(guò)多個(gè)實(shí)例介紹特定概念并引導(dǎo)讀者創(chuàng)建簡(jiǎn)單示例,進(jìn)而得到解決方案。
實(shí)例后附有“回退方案”,為舊版本瀏覽器提供解決方法。
“未來(lái)展望”探討如何在將來(lái)更好地應(yīng)用屆時(shí)已經(jīng)成熟的新特性。
HTML5和CSS3技術(shù)是目前整個(gè)網(wǎng)頁(yè)的基礎(chǔ)。《HTML5與CSS3實(shí)例教程(第2版)》共分3部分,集中討論了HTML5和CSS3規(guī)范及其技術(shù)的使用方法。這一版全面講解了最新的HTML5和CSS3技術(shù),所有實(shí)例均使用最新特性實(shí)現(xiàn),針對(duì)的是最新版本的瀏覽器。
《HTML5與CSS3實(shí)例教程(第2版)》適合所有使用HTML和CSS的Web開(kāi)發(fā)人員學(xué)習(xí)參考。
Brian P. Hogan,1995年起便開(kāi)始以自由職業(yè)者的身份開(kāi)發(fā)專業(yè)網(wǎng)站并提供咨詢服務(wù),目前常使用Ruby、jQuery、HTML5和CSS3構(gòu)建Web應(yīng)用。他樂(lè)于講述并撰寫與Web設(shè)計(jì)和開(kāi)發(fā)有關(guān)的內(nèi)容,倡導(dǎo)為殘障人士(特別是視覺(jué)障礙者)研發(fā)輔助功能,另著有《Web開(kāi)發(fā)秘方》。
第1章 HTML5和CSS3概述
1.1 強(qiáng)大的Web開(kāi)發(fā)平臺(tái)
1.1.1 向后兼容
1.1.2 更具描述性的標(biāo)記
1.1.3 更加簡(jiǎn)化
1.1.4 用戶界面增強(qiáng)
1.1.5 更好的表單控件
1.1.6 可訪問(wèn)性增強(qiáng)
1.1.7 更高級(jí)的選擇器
1.1.8 視覺(jué)效果
1.1.9 更少依賴插件的多媒體功能實(shí)現(xiàn)
1.1.10 應(yīng)用能力增強(qiáng)
1.1.11 跨文檔通信
1.1.12 Web Sockets
1.1.13 客戶端存儲(chǔ)
1.2 注定充滿挑戰(zhàn)的未來(lái)之路
1.2.1 處理老版本的IE
1.2.2 可訪問(wèn)性
1.2.3 廢棄的標(biāo)簽
1.2.4 市場(chǎng)利益的激烈競(jìng)爭(zhēng)
1.2.5 HTML5和CSS3的標(biāo)準(zhǔn)仍在不斷發(fā)展中
第一部分 用戶界面增強(qiáng)
第2章 新的結(jié)構(gòu)化標(biāo)簽和屬性
2.1 實(shí)例1:用語(yǔ)義標(biāo)記重新定義博客
2.1.1 一切皆始于正確的文檔類型
2.1.2 頁(yè)眉標(biāo)簽
2.1.3 頁(yè)腳標(biāo)簽
2.1.4 導(dǎo)航標(biāo)簽
2.1.5 區(qū)塊和文章
2.1.6 旁白與側(cè)邊欄
2.1.7 為博客設(shè)置樣式
2.1.8 回退方案
2.2 實(shí)例2:用
2.2.1 回退方案
2.2.2 進(jìn)度條標(biāo)簽
2.3 實(shí)例3:用自定義數(shù)據(jù)屬性構(gòu)造彈出窗體
2.3.1 行為與內(nèi)容分離,以及
onclick()的問(wèn)題
2.3.2 增強(qiáng)可訪問(wèn)性
2.3.3 不用onclick()
2.3.4 引入自定義數(shù)據(jù)屬性
2.3.5 回退方案
2.4 實(shí)例4:常見(jiàn)問(wèn)題描述列表
2.5 未來(lái)展望
第3章 創(chuàng)建友好的Web表單
3.1 實(shí)例5:使用新的輸入字段描述數(shù)據(jù)
3.1.1 表單描述
3.1.2 使用范圍字段創(chuàng)建滑動(dòng)條
3.1.3 使用選值框處理數(shù)值
3.1.4 日期選擇字段
3.1.5 電子郵件字段
3.1.6 URL字段
3.1.7 顏色選擇字段
3.1.8 給表單設(shè)置樣式
3.1.9 回退方案
3.2 實(shí)例6:借助autofocus跳到表單第一個(gè)字段
3.3 實(shí)例7:通過(guò)占位文本提供提示信息
3.4 實(shí)例8:不借助JavaScript驗(yàn)證用戶輸入
3.4.1 正則表達(dá)式驗(yàn)證
3.4.2 為字段添加樣式
3.4.3 回退方案
3.5 實(shí)例9:通過(guò)contenteditable屬性實(shí)現(xiàn)就地編輯功能
3.5.1 用戶資料表單
3.5.2 數(shù)據(jù)持久化
3.5.3 回退方案
3.6 未來(lái)展望
第4章 設(shè)置內(nèi)容及界面的樣式
4.1 實(shí)例10:使用偽類設(shè)置表格樣式
4.1.1 使用:nth-of-type給表格行設(shè)置條紋
4.1.2 使用:nth-child對(duì)齊表格列的內(nèi)容
4.1.3 使用:last-child加粗表格最后一行
4.1.4 使用:nth-last-child反向遍歷元素
4.1.5 回退方案
4.2 實(shí)例11:使用:after和content生成打印友好的鏈接
4.2.1 創(chuàng)建只適用于打印的樣式表
4.2.2 雙冒號(hào)語(yǔ)法
4.3 實(shí)例12:使用媒體查詢構(gòu)建移動(dòng)頁(yè)面
4.4 實(shí)例13:創(chuàng)建多欄布局
4.4.1 拆分欄
4.4.2 特定廠商的前綴
4.4.3 回退方案
4.5 未來(lái)展望
第5章 構(gòu)建可訪問(wèn)性界面
5.1 實(shí)例14:使用ARIA role屬性提供導(dǎo)航提示
5.1.1 地標(biāo)角色
5.1.2 文檔結(jié)構(gòu)角色
5.1.3 回退方案
5.2 實(shí)例15:創(chuàng)建訪問(wèn)性良好的可更新區(qū)域
5.2.1 創(chuàng)建頁(yè)面
5.2.2 隱藏內(nèi)容區(qū)域
5.2.3 回退方案
5.3 實(shí)例16:提升表格的可訪問(wèn)性
5.3.1 把標(biāo)題與列結(jié)合起來(lái)
5.3.2 用題注和描述解釋表格
5.4 未來(lái)展望
第二部分 新視角、新聲音
第6章 在瀏覽器中畫圖
6.1 實(shí)例17:在畫布上繪制商標(biāo)
6.1.1 繪制線條
6.1.2 添加"AwesomeCo"文本信息
6.1.3 移動(dòng)原點(diǎn)坐標(biāo)
6.1.4 為對(duì)象設(shè)置漸變效果
6.1.5 回退方案
6.2 實(shí)例18:使用RGraph實(shí)現(xiàn)圖表統(tǒng)計(jì)
6.2.1 使用HTML描述數(shù)據(jù)
6.2.2 將HTML描述內(nèi)容轉(zhuǎn)換成柱狀圖
6.2.3 顯示替代內(nèi)容
6.2.4 回退方案
6.3 實(shí)例19:使用SVG繪制矢量圖形
6.3.1 繪制線條
6.3.2 添加文本信息
6.3.3 繪制形狀
6.3.4 通過(guò)路徑進(jìn)行手工繪制
6.3.5 回退方案
6.4 未來(lái)展望
第7章 嵌入音頻和視頻
7.1 歷史回顧
7.2 容器與編解碼器
7.2.1 視頻編解碼器
7.2.2 音頻編解碼器
7.2.3 容器與編解碼器協(xié)同工作
7.3 實(shí)例20:音頻特性
7.3.1 創(chuàng)建基本的音頻列表
7.3.2 回退方案
7.4 實(shí)例21:嵌入視頻
7.5 實(shí)例22:視頻播放的可訪問(wèn)性
7.5.1 添加字幕
7.5.2 HTML5視頻技術(shù)的局限性
7.6 未來(lái)展望
第8章 視覺(jué)特效
8.1 實(shí)例23:設(shè)置圓角
8.1.1 柔化登錄表單
8.1.2 回退方案
8.2 實(shí)例24:陰影、漸變及轉(zhuǎn)換
8.2.1 基本結(jié)構(gòu)
8.2.2 添加漸進(jìn)效果
8.2.3 添加陰影效果
8.2.4 旋轉(zhuǎn)姓名牌
8.2.5 使用矩陣精確轉(zhuǎn)換
8.2.6 透明背景
8.2.7 回退方案
8.3 實(shí)例25:設(shè)置字體
8.3.1 @font-face
8.3.2 字體格式
8.3.3 改變字體
8.3.4 回退方案
8.4 實(shí)例26:通過(guò)過(guò)渡和動(dòng)畫特性移動(dòng)物體
8.4.1 使用CSS過(guò)渡特性實(shí)現(xiàn)淡入淡出效果
8.4.2 理解調(diào)速函數(shù)
8.4.3 創(chuàng)建過(guò)渡特效
8.4.4 利用CSS3動(dòng)畫特性實(shí)現(xiàn)表單晃動(dòng)效果
8.4.5 回退方案
8.5 未來(lái)展望
第三部分 標(biāo)記之外
第9章 客戶端數(shù)據(jù)儲(chǔ)存
9.1 實(shí)例27:用Web Storage存儲(chǔ)偏好設(shè)置
9.1.1 創(chuàng)建偏好設(shè)置表單
9.1.2 保存及恢復(fù)偏好設(shè)置數(shù)據(jù)
9.1.3 為頁(yè)面應(yīng)用偏好設(shè)置值
9.1.4 回退方案
9.2 實(shí)例28:使用IndexedDB將數(shù)據(jù)存儲(chǔ)到客戶端數(shù)據(jù)庫(kù)中
9.2.1 注意事項(xiàng)界面
9.2.2 創(chuàng)建并連接數(shù)據(jù)庫(kù)
9.2.3 創(chuàng)建注意事項(xiàng)表
9.2.4 加載注意事項(xiàng)
9.2.5 讀取特定記錄
9.2.6 創(chuàng)建、更新以及刪除記錄
9.2.7 回退方案
9.3 實(shí)例29:離線應(yīng)用
9.3.1 通過(guò)manifest文件定義應(yīng)用程序緩存
9.3.2 manifest文件與服務(wù)器端緩存設(shè)置
9.3.3 檢測(cè)網(wǎng)絡(luò)連通性
9.4 未來(lái)展望
第10章 創(chuàng)建交互式Web應(yīng)用
10.1 實(shí)例30:保存歷史記錄
10.1.1 存儲(chǔ)當(dāng)前狀態(tài)
10.1.2 恢復(fù)上一狀態(tài)
10.1.3 設(shè)置默認(rèn)狀態(tài)
10.1.4 回退方案
10.2 實(shí)例31:跨域通信
10.2.1 聯(lián)系人列表
10.2.2 發(fā)送消息
10.2.3 支持網(wǎng)站
10.2.4 接收消息
10.2.5 IE 8及IE 9中的限制
10.3 實(shí)例32:WebSocket聊天
10.3.1 聊天界面
10.3.2 與聊天服務(wù)器的通信
10.3.3 回退方案
10.3.4 Flash Socket策略文件
10.4 實(shí)例33:你在哪兒:Geolocation
10.4.1 為AwesomeCo公司開(kāi)發(fā)定位功能
10.4.2 如何被找到
10.4.3 回退方案
10.5 實(shí)例34:通過(guò)拖放來(lái)整理內(nèi)容
10.5.1 創(chuàng)建基本用戶界面
10.5.2 添加卡片到界面
10.5.3 整理卡片
10.5.4 回退方案
10.6 未來(lái)展望
第11章 未來(lái)之路
11.1 使用彈性盒子模型定義布局
11.2 跨域資源共享
11.3 Web Workers
11.4 服務(wù)器發(fā)送事件
11.4.1 監(jiān)聽(tīng)事件
11.4.2 實(shí)現(xiàn)你自己的服務(wù)器
11.5 濾鏡效果
11.6 WebGL
11.7 前進(jìn)!
附錄A 快速參考
附錄B jQuery快速入門
附錄C 針對(duì)Web的音頻和視頻編碼
附錄D 相關(guān)資源
參考文獻(xiàn)