HTML5 + CSS3 + JavaScript 超詳細通關攻略 (實戰版)
內容描述
本書從零基礎講起,詳細、完整地介紹前端開發過程中的每個知識點,包括HTML、HTML5、CSS2、CSS3、JavaScript中各API的使用方法,以一種開創性的方式使理論與實踐達到極好的平衡。每個案例分為功能描述、實現代碼、效果展示和代碼分析4個部分;每個科目都是由淺入深、逐層推進,每個示例都精心構思、高效實用,而且每章後都有一個完整的案例,每節後都有一個示例,連貫性強,階段性突出。
目錄大綱
目錄
第1章擁抱HTML5
1.1一個簡單的HTML5頁面
1.1.1搭建支持的瀏覽器環境
1.1.2檢測瀏覽器是否支持HTML5標記
1.1.3使用HTML5結構編寫簡單的Web頁面
1.2HTML5頁面的特徵
1.2.1應用全新的HTML5特徵結構化元素
1.2.2使用CSS文件美化HTML5新元素
小結
第2章HTML5中新增交互元素
2.1details內容元素
2.1.1定義
2.1.2屬性
2.2menu元素
2.2.1定義
2.2.2屬性
2.3meter元素
2.3.1定義
2.3.2屬性
小結
第3章HTML5中的重要元素
3.1html根元素
3.1.1定義
3.1.2屬性
3.2文檔元素
3.2.1定義
3.2.2包含標簽
3.3腳本
3.3.1定義
3.3.2屬性
3.4文本層次語義
3.4.1mark元素
3.4.2cite元素
3.5公共屬性
3.5.1draggable屬性
3.5.2hidden屬性
3.5.3spellcheck屬性
3.5.4contenteditable屬性
小結
第4章HTML5中的表單
4.1新增input 元素類型
4.1.1email郵件類型
4.1.2url 地址類型
4.1.3number 數字類型
4.1.4range數字滑動塊
4.1.5date日期類型
4.1.6search搜索類型
4.2新增表單元素
4.2.1datalist 元素
4.2.2output 元素
4.2.3keygen 元素
4.3新增input元素屬性
4.3.1autofocus 屬性
4.3.2pattern屬性
4.3.3placeholder屬性
4.3.4required屬性
4.4新增form驗證方法和屬性
4.4.1checkValidity()顯示驗證法
4.4.2setCustomValidity()修改提示信息方法
4.4.3表單的novalidate屬性
小結
第5章HTML5中的文件
5.1選擇文件
5.1.1選擇單個文件
5.1.2選擇多個文件
5.1.3使用Blob接口獲取文件的類型與大小
5.1.4通過類型過濾選擇的文件
5.1.5通過accept屬性過濾選擇文件的類型
5.2讀取與拖放文件
5.2.1FileReader 接口
5.2.2使用FileReader()方法預覽圖片文件
5.2.3使用FileReader()方法讀取文本文件
5.2.4監聽FileReader接口中的事件
5.2.5使用DataTransfer對象拖放上傳圖片文件
小結
第6章HTML5中的視頻和音頻
6.1多媒體元素基本屬性
6.1.1元素格式
6.1.2width與height屬性
6.1.3controls屬性
6.1.4poster屬性
6.1.5networkState屬性
6.1.6error屬性
6.1.7其他屬性
6.2多媒體元素常用方法
6.2.1媒體播放時的方法
6.2.2canPlayType()方法
6.3多媒體元素重要事件
6.3.1媒體播放事件
6.3.2timeupdate事件
6.3.3其他事件
小結
第7章HTML5繪圖基礎
7.1畫布的基礎知識
7.1.1canvas元素的基本用法
7.1.2canvas元素繪制帶邊框矩形
7.1.3canvas元素繪制漸變圖形
7.2畫布中使用路徑
7.2.1moveTo()與lineTo()的用法
7.2.2在畫布中繪制圓形
7.2.3在畫布中繪制漸變圓形
7.3操作圖形
7.3.1變換圖形原點坐標
7.3.2組合多個圖形
7.3.3添加圖形陰影
7.4畫布中的圖像
7.4.1繪制圖像
7.4.2平鋪圖像
7.4.3切割圖像
7.4.4處理像素
7.5畫布的其他應用
7.5.1繪制文字
7.5.2保存與還原及輸出圖形
7.5.3製作簡單動畫
小結
第8章HTML5中的數據存儲
8.1Web Storage的基本概念
8.1.1sessionStorage對象
8.1.2localStorage對象
8.1.3清空localStorage數據
8.2Web Storage API
8.2.1遍歷localStorage數據
8.2.2使用 JSON對象存取數據
8.2.3管理localStorage數據
小結
第9章HTML5中的離線應用
9.1cache manifest 文件
9.1.1manifest文件簡介
9.1.2一個簡單的離線應用
9.2applicationCache對象
9.2.1updateready事件
9.2.2update()方法
9.2.3swapCache()方法
9.2.4其他事件
小結
第10章其他應用API
10.1Web Sockets API
10.1.1postMessage()方法
10.1.2使用WebSocket 傳送數據
10.1.3使用WebSocket傳送JSON對象
10.2Web Workers API
10.2.1Worker對象處理線程的簡單實例
10.2.2使用線程傳遞JSON對象
小結
第11章HTML5中元素的拖放
11.1拖放簡介
11.1.1傳統JavaScript代碼實現拖放
11.1.2拖放時觸發的事件
11.2dataTransfer對象
11.2.1setData()與getData()方法存入與讀取拖放數據
11.2.2setDragImage()方法設置拖放圖標
11.2.3effectAllowed與dropEffect屬性設置拖放效果
11.3拖放應用
11.3.1購物車的實現
11.3.2相冊集的管理
小結
第12章CSS3的概念
12.1CSS3簡介
12.1.1什麽是CSS3
12.1.2CSS3的發展歷史
12.2CSS3的語法與使用
12.2.1CSS3的語法介紹
12.2.2CSS3的引入方式
12.3CSS3的功能
12.3.1模塊與模塊化結構
12.3.2一個簡單的CSS3的效果實例
小結
第13章選擇器
13.1選擇器概述
13.1.1id和類別選擇器
13.1.2元素和組合選擇器
13.2屬性選擇器
13.2.1常用屬性選擇器
13.2.2CSS3中屬性選擇器
13.3結構性偽類選擇器
13.3.1偽元素選擇器
13.3.2偽類選擇器
小結
第14章選擇器在頁面的應用
14.1使用選擇器插入文字
14.1.1在元素前後插入內容
14.1.2不允許插入內容
14.2使用選擇器插入圖片
14.2.1在元素前後插入圖片
14.2.2插入圖片和背景圖片的區別
14.3使用選擇器插入編號
14.3.1簡單的編號嵌套
14.3.2編號的類型
14.3.3在元素前後插入符號
小結
第15章文字相關的樣式
15.1文字的陰影
15.1.1陰影的作用
15.1.2陰影的位移距離
15.1.3陰影的模糊距離
15.1.4組合陰影效果
15.2文本換行
15.2.1文本自動換行
15.2.2強制文本換行
15.2.3強制長單詞換行
小結
第16章盒相關樣式
16.1盒的類型
16.1.1基本類型
16.1.2inlineblock類型
16.2盒子內容溢出顯示
16.2.1overflow屬性
16.2.2textoverflow屬性
16.3盒的陰影
16.3.1boxshadow屬性
16.3.2盒內子元素的陰影
16.4盒模型的種類
16.4.1boxsizing屬性的使用方法
16.4.2boxsizing屬性的應用
小結
第17章背景和邊框樣式
17.1背景相關的屬性
17.1.1backgroundclip屬性
17.1.2backgroundorigin屬性
17.1.3backgroundsize屬性
17.2圓角邊框的繪制
17.2.1borderradius屬性
17.2.2圓角邊框的種類
17.3使用圖片邊框
17.3.1常用屬性
17.3.2擴展屬性
小結
第18章CSS3中的變形處理
18.1transform屬性
18.1.1translate()函數
18.1.2scale()函數
18.1.3rotate()函數
18.1.4skew()函數
18.2復合變形和旋轉中心
18.2.1元素的復合變形
18.2.2改變旋轉中心點
小結
第19章CSS3中的動畫屬性
19.1transition屬性
19.1.1transition屬性的使用
19.1.2transition屬性指定多個樣式
19.2animation屬性
19.2.1animation屬性的使用
19.2.2animation屬性指定多幀動畫
小結
第20章佈局相關樣式
20.1多列佈局
20.1.1float屬性多列佈局的不足
20.1.2使用盒佈局
20.2彈性盒佈局
20.2.1改變元素的排列方向
20.2.2改變元素的顯示順序
20.2.3使用彈性盒佈局消除空白區域
小結
第21章JavaScript簡介
21.1JavaScript是什麽
21.1.1JavaScript的起源
21.1.2JavaScript的特點
21.1.3JavaScript的開發工具
21.2JavaScript引入方式
21.2.1外部引入JavaScript文件
21.2.2內部添加JavaScript代碼
21.2.3屬性執行JavaScript代碼
21.2.4一個簡單的JavaScript程序
小結
第22章JavaScript語法基礎
22.1語法簡介
22.2常量與變量
22.2.1常量
22.2.2變量
22.3數據類型
22.3.1字符串(String)型
22.3.2數字(Number)型
22.3.3布爾(Boolean)型
22.3.4空值(Null)型
22.3.5未定義(Undefined)型
22.3.6對象(Object)型
22.4運算符
22.4.1算術運算符
22.4.2比較運算符
22.4.3賦值運算符
22.4.4邏輯運算符
22.4.5條件運算符
22.5語句與表達式
22.5.1語句
22.5.2表達式
22.6類型轉換
22.6.1Number()函數
22.6.2Boolean()函數
22.7代碼註釋
22.7.1單行註釋
22.7.2多行註釋
小結
第23章流程控制
23.1流程控制簡介
23.1.1順序結構
23.1.2選擇結構
23.1.3循環結構
23.2選擇結構
23.2.1單項選擇if語句
23.2.2雙項選擇if…else語句
23.2.3多項選擇if…else if語句
23.2.4多項選擇switch語句
23.3循環結構
23.3.1do…while語句的用法
23.3.2while語句的用法
23.3.3for語句的用法
23.4跳轉語句
23.4.1continue語句的用法
23.4.2break語句的用法
小結
第24章初識函數
24.1函數簡介
24.1.1重復性
24.1.2功能性
24.2函數的定義
24.2.1定義格式
24.2.2無返回值函數
24.2.3有返回值函數
24.2.4全局變量和局部變量
24.3函數的調用
24.3.1函數的直接調用
24.3.2函數在超鏈接中調用
24.3.3函數在事件中調用
24.4特殊的函數
24.4.1嵌套函數
24.4.2遞歸函數
24.4.3內置函數
小結
第25章字符串對象
25.1字符串對象簡介
25.1.1調用字符串對象的屬性
25.1.2調用字符串對象的方法
25.2獲取字符串方法
25.2.1charAt()方法
25.2.2substring()方法
25.3替換和分割字符串方法
25.3.1replace()方法
25.3.2split()方法
25.4查詢和檢索字符串方法
小結
第26章數組對象
26.1數組對象簡介
26.1.1數組的創建和賦值
26.1.2數組的獲取
26.2添加數組元素
26.2.1使用unshift()方法在數組開頭添加元素
26.2.2使用push()方法在數組結尾添加元素
26.3刪除數組元素
26.3.1使用shift()方法刪除數組第一個元素
26.3.2使用pop()方法刪除數組最後一個元素
26.4數組排序
26.4.1使用sort()方法排序
26.4.2使用reverse()方法排列
小結
第27章日期對象
27.1日期對象簡介
27.1.1創建日期對象
27.1.2輸出日期對象的年份
27.2操作日期對象的年月日值
27.2.1獲取日期對象的年月日值
27.2.2設置日期對象的年月日值
27.3操作日期對象的時分秒值
27.3.1獲取日期對象的時分秒值
27.3.2設置日期對象的時分秒值
27.4獲取日期對象的星期和毫秒值
27.4.1獲取日期對象的星期值
27.4.2獲取日期對象的毫秒值
第28章數學對象
28.1數學對象簡介
28.1.1對象的屬性
28.1.2對象的方法
28.2取整運算
28.2.1向上取整方法ceil()
28.2.2向下取整方法floor()
28.3生成隨機數
28.3.1生成指定範圍的隨機數
28.3.2生成多位組合的隨機數
28.4三角函數
28.4.1正弦和餘弦及正切函數
28.4.2反正弦和反餘弦及反正切函數
小結
第29章DOM基礎
29.1什麽是DOM
29.1.1DOM對象
29.1.2DOM結構
29.2獲取和創建元素
29.2.1獲取元素
29.2.2創建元素
29.3插入元素
29.3.1appendChild()方法
29.3.2insertBefore()方法
29.4復制和刪除元素
29.4.1cloneNode()方法
29.4.2removeChild()方法
小結
第30章DOM進階
30.1獲取和設置元素屬性
30.1.1getAttribute()方法
30.1.2setAttribute()方法
30.2檢測和刪除元素屬性
30.2.1hasAttribute()方法
30.2.2removeAttribute()方法
30.3操作元素樣式屬性
30.3.1使用style屬性操作樣式
30.3.2使用cssName屬性操作樣式
30.4查找DOM元素
30.4.1查找父節點
30.4.2查找子類節點
小結
第31章事件基礎
31.1事件簡介
31.1.1事件在元素中的使用
31.1.2在script元素中使用事件
31.2鼠標和鍵盤事件
31.2.1鼠標事件
31.2.2鍵盤事件
31.3表單事件
31.3.1獲得和丟失焦點事件
31.3.2文本變化事件
31.4頁面事件
31.4.1onload事件
31.4.2onresize事件
小結
第32章事件進階
32.1事件處理機制
32.1.1DOM事件流
32.1.2事件監聽器
32.2事件對象
32.2.1對象的屬性
32.2.2對象的方法
32.3this對象
32.3.1this在構建函數中的運用
32.3.2this在對象方法中的運用
小結
第33章window對象
33.1對象簡介
33.1.1打開和關閉窗口
33.1.2對話框
33.2定時器
33.2.1setTimeout()方法
33.2.2setInterval ()方法
33.3location對象
33.3.1href屬性
33.3.2search屬性
小結
第34章document對象
34.1對象簡介
34.1.1對象集合
34.1.2對象屬性
34.1.3對象方法
34.2對象屬性使用
34.2.1獲取文檔信息
34.2.2操作cookie內容
34.3對象方法調用
34.3.1write()方法
34.3.2open()和close()方法
小結
附錄A簡易圖片放大鏡的開發
A.1開發過程
A.1.1新建一個名稱為magnifier的項目文件夾
A.1.2新建文件
A.2程序結果
附錄B手機端頁面屏幕鎖的開發
B.1開發過程
B.1.1新建一個名稱為moblock的項目文件夾
B.1.2新建文件
B.2程序結果