本書以項目任務為載體, 全面系統(tǒng)地介紹了web客戶端開發(fā)的主要技術。全書以商務網(wǎng)站前端開發(fā)實例為主線, 基于網(wǎng)站前端開發(fā)的所需要的技術劃分章節(jié), 涵蓋了HTML5、CSS樣式、JavaScript共3大方面的內(nèi)容。其中包括網(wǎng)站前端開發(fā)的知識準備、HTML5基礎和應用、CSS基礎、CSS布局、CSS樣式屬性、CSS3新增屬性、JavaScript入門等內(nèi)容。本書知識點與知名網(wǎng)站的精彩部分做案例相結(jié)合的方式, 是讀者由淺入深地掌握Web前端開發(fā)的相關知識。
作者結(jié)合自己多年積累的相關課程教學經(jīng)驗和Web開發(fā)經(jīng)驗,編寫了本書。本書是為計算機相關專業(yè)的學生以及對網(wǎng)站前端開發(fā)感興趣的讀者編寫的,旨在培養(yǎng)讀者的網(wǎng)站開發(fā)能力,以適應網(wǎng)絡社會對這方面人才的需求,讓讀者通過學習,成為一名精通Web前端開發(fā)的能手。
本書以作者參與的院級科研項目“校園電子商務網(wǎng)站開發(fā)研究”為案例參考背景,將構建商務網(wǎng)站時需要的典型應用作為書中的案例,引入網(wǎng)站前端開發(fā)所需要的關鍵技術和開發(fā)語言。
本書合理安排了基礎知識和實戰(zhàn)訓練的比例,基礎知識以“夠用”為度,用簡明清晰的語言闡述,結(jié)合圖表來表達,符合學生的學習特點和認知規(guī)律。
本書重點放在專業(yè)技能的訓練上。幾乎每個重要的知識點都有實例供讀者參考練習,并且采用的是人們熟悉的電商網(wǎng)站的精彩部分作為案例。
本書包含三大核心技術,分別是HTML 5、CSS 3和JavaScript。在內(nèi)容組織方面,共分為9個教學模塊和1個綜合應用案例模塊。
從目前國內(nèi)互聯(lián)網(wǎng)的發(fā)展趨勢來看,Web前端開發(fā)已經(jīng)成為一門廣泛應用的技術,各行各業(yè)對網(wǎng)站的要求越來越高,對網(wǎng)頁設計開發(fā)人才的需求也大大增加。Web標準和CSS技術已經(jīng)成為一種潮流和趨勢。
作者結(jié)合自己多年積累的相關課程教學經(jīng)驗和Web開發(fā)經(jīng)驗,編寫了本書。本書是為計算機相關專業(yè)的學生以及對網(wǎng)站前端開發(fā)感興趣的讀者編寫的,旨在培養(yǎng)讀者的網(wǎng)站開發(fā)能力,以適應網(wǎng)絡社會對這方面人才的需求,讓讀者通過學習,成為一名精通Web前端開發(fā)的能手。
本書以作者參與的院級科研項目“校園電子商務網(wǎng)站開發(fā)研究”為案例參考背景,將構建商務網(wǎng)站時需要的典型應用作為書中的案例,引入網(wǎng)站前端開發(fā)所需要的關鍵技術和開發(fā)語言。
本書合理安排了基礎知識和實戰(zhàn)訓練的比例,基礎知識以“夠用”為度,用簡明清晰的語言闡述,結(jié)合圖表來表達,符合學生的學習特點和認知規(guī)律。
本書重點放在專業(yè)技能的訓練上。幾乎每個重要的知識點都有實例供讀者參考練習,并且采用的是人們熟悉的電商網(wǎng)站的精彩部分作為案例。
本書包含三大核心技術,分別是HTML5、CSS3和JavaScript。在內(nèi)容組織方面,共分為9個教學模塊和1個綜合應用案例模塊。
第1章介紹網(wǎng)站前端設計需要的知識,包括Web基礎知識、網(wǎng)站開發(fā)的基本流程及關鍵技術、網(wǎng)站開發(fā)人才需求,以及網(wǎng)站開發(fā)工具。
第2章屬于HTML5部分,介紹HTML5的新功能、新增標記和屬性、廢棄標記,以及HTML5文檔中的常用標記、表單元素和HTML5新增的結(jié)構化元素。
第3~5章屬于CSS部分,主要介紹CSS基礎、布局方法和樣式屬性,對主流瀏覽器都支持的也比較成熟的CSS3的部分屬性做了講解。
第6~8章屬于JavaScript部分,主要介紹JavaScript語法基礎、函數(shù)及其應用、常用的內(nèi)置對象、常用的文檔對象、常用的窗口對象、事件處理等內(nèi)容。
第9章利用JavaScript實現(xiàn)Canvas功能,包括使用Canvas繪制基本圖形、變換圖形及繪制文本等。
第10章綜合應用案例,主要通過商品購物車功能設計,系統(tǒng)地介紹HTML5、CSS樣式和JavaScript腳本編程三項技術的綜合運用。
本書由王黎任主編,張希文、段炬霞、劉軍玲、郭洪榮任副主編,其中王黎編寫第2、3、4、7、8、9、10章,張希文編寫第1章,劉軍玲編寫第5章,段炬霞編寫第6章,邱冬副教授、呂殿基副教授審稿,編寫過程中參考了很多相關技術資料及經(jīng)典案例,吸取了許多同仁的寶貴經(jīng)驗,在此深表謝意!
由于作者水平有限,雖然對內(nèi)容進行了反復斟酌和修改,但書中不足與疏漏之處在所難免,懇請各位專家和廣大讀者批評指正。
編者
第1章 網(wǎng)站前端設計知識準備 1
1.1 Web基礎 2
1.1.1 Web的基本概念 2
1.1.2 了解“Web標準” 2
1.1.3 靜態(tài)網(wǎng)頁 4
1.1.4 動態(tài)網(wǎng)頁 4
1.2 網(wǎng)站開發(fā) 4
1.2.1 網(wǎng)站開發(fā)的基本流程 4
1.2.2 網(wǎng)站開發(fā)的人才需求 5
1.2.3 網(wǎng)站開發(fā)的主要技術 6
1.3 Web前端工程師需要掌握的技能 6
1.3.1 Web前端工程師的工作內(nèi)容 6
1.3.2 Web前端工程師需要掌握的
技術 6
1.4 網(wǎng)站開發(fā)工具介紹 8
1.4.1 原型設計工具 8
1.4.2 開發(fā)工具 9
1.4.3 調(diào)試工具 9
1.4.4 代碼托管工具 10
本章小結(jié) 10
習題 11
第2章 HTML 5基礎 13
2.1 HTML簡介 14
2.1.1 了解HTML 14
2.1.2 HTML元素 15
2.2 初識HTML 5 16
2.2.1 了解HTML 5 16
2.2.2 HTML 5的新功能 17
2.2.3 HTML 5的廢棄標記 18
2.2.4 HTML 5的新增標記 18
2.2.5 HTML 5的新增屬性 19
2.3 HTML 5的結(jié)構 20
2.3.1 HTML 5的基本結(jié)構 20
2.3.2 編寫第一個符合W3C標準的
HTML 5網(wǎng)頁 21
2.4 HTML 5文檔的常用標記 22
2.4.1 文本段落的相關標記 22
2.4.2 圖像標記 23
2.4.3 超鏈接 24
2.4.4 列表 26
2.4.5 表格 27
2.4.6 HTML 5的音頻和視頻 29
2.5 HTML 5的表單元素 32
2.5.1 創(chuàng)建表單 32
2.5.2 input輸入類型控件 32
2.5.3 列表框(select) 39
2.5.4 多行文本輸入框(textarea) 39
2.5.5 表單控件綜合示例 40
2.6 HTML 5語義化結(jié)構性元素 41
2.6.1 新增的主體結(jié)構元素 41
2.6.2 新增的非主體結(jié)構元素 46
2.7 小型案例實訓:使用結(jié)構元素進行
網(wǎng)頁布局 47
本章小結(jié) 49
習題 49
第3章 CSS基礎 51
3.1 CSS概述 52
3.1.1 什么是CSS 52
3.1.2 CSS的發(fā)展史 52
3.1.3 CSS 3簡介 53
3.2 CSS的組成 53
3.2.1 基本語法規(guī)則 53
3.2.2 選擇符的分類 54
3.3 在HTML中使用CSS的方法 61
3.3.1 行內(nèi)樣式 61
3.3.2 內(nèi)部樣式 61
3.3.3 外部樣式 62
3.3.4 CSS的優(yōu)先級 63
3.3.5 常用的CSS 3屬性前綴 63
本章小結(jié) 63
習題 64
第4章 CSS布局 65
4.1 CSS的盒模型 66
4.1.1 盒模型的結(jié)構 66
4.1.2 盒模型的元素類型 67
4.1.3 使用DIV 69
4.1.4 外邊距、內(nèi)邊距與邊框的
CSS設置 70
4.1.5 CSS 3對盒模型邊框的完善 74
4.2 網(wǎng)頁元素的定位 78
4.2.1 定位屬性position 78
4.2.2 float浮動定位 81
4.2.3 其他CSS布局定位方式 83
4.3 DIV + CSS常用的布局方式 84
4.3.1 單列水平居中布局 85
4.3.2 浮動的布局 87
4.3.3 div嵌套布局 89
4.3.4 CSS 3多列布局 92
4.4 列表元素布局 94
4.5 小型案例實訓——布局電商網(wǎng)站
首頁(制作盒模型) 95
4.5.1 布局網(wǎng)頁的總體結(jié)構 95
4.5.2 區(qū)域的
結(jié)構分析及布局 96
4.5.3
內(nèi)容區(qū)域的設計 98
4.5.4 區(qū)域的
設計 100
本章小結(jié) 100
習題 101
第5章 CSS樣式屬性 103
5.1 CSS 3字體相關屬性 104
5.1.1 設置字體屬性 104
5.1.2 設置字體屬性的綜合示例 106
5.1.3 CSS 3新增字體屬性 106
5.2 CSS控制文本的樣式 107
5.2.1 文本屬性 107
5.2.2 設置文本屬性的綜合示例 109
5.2.3 CSS 3新增的文本屬性 110
5.3 使用CSS控制背景 114
5.3.1 背景屬性 114
5.3.2 背景設置綜合示例 116
5.3.3 CSS 3新增的與背景相關的
屬性 116
5.4 使用CSS設置列表樣式 121
5.4.1 CSS列表屬性 121
5.4.2 列表屬性的綜合實例 122
5.5 小型案例實訓 123
5.5.1 案例1:商品信息展示 123
5.5.2 案例2:CSS制作二級導航
下拉菜單 125
本章小結(jié) 128
習題 128
第6章 JavaScript入門 131
6.1 JavaScript概述 132
6.1.1 認識JavaScript 132
6.1.2 JavaScript的特點和作用 132
6.1.3 在網(wǎng)頁中使用JavaScript 134
6.1.4 JavaScript代碼規(guī)范 135
6.2 變量、數(shù)據(jù)類型 136
6.2.1 變量的聲明和使用 136
6.2.2 JavaScript的基本數(shù)據(jù)類型 138
6.3 表達式與運算符 141
6.3.1 表達式 141
6.3.2 運算符 141
6.4 流程控制語句 148
6.4.1 分支結(jié)構 148
6.4.2 循環(huán)結(jié)構 151
6.5 JavaScript的函數(shù) 154
6.5.1 函數(shù)的定義 154
6.5.2 函數(shù)的調(diào)用 154
6.5.3 使用函數(shù)的返回值 157
6.5.4 函數(shù)的嵌套 158
6.5.5 內(nèi)置函數(shù) 158
6.6 小型案例實訓——制作簡易
計算器 160
本章小結(jié) 162
習題 162
第7章 JavaScript中的對象 165
7.1 JavaScript的常用內(nèi)置對象 166
7.1.1 數(shù)組對象 166
7.1.2 字符串(String)對象 170
7.1.3 日期(Date)對象 172
7.1.4 數(shù)學(Math)對象 174
7.2 常用文檔對象 177
7.2.1 文檔對象模型(DOM對象) 177
7.2.2 文檔對象的節(jié)點樹 178
7.2.3 文檔對象(document) 185
7.2.4 表單及其控件對象 188
7.2.5 style對象 190
7.3 常用窗口對象 192
7.3.1 屏幕對象 192
7.3.2 window窗口對象 194
7.3.3 瀏覽器信息對象 196
7.3.4 網(wǎng)址對象 197
7.3.5 歷史記錄對象 198
7.4 小型案例實訓 200
7.4.1 案例1:將英文單詞首字母
改成大寫 200
7.4.2 案例2:限制多行文本域
輸入的字符個數(shù) 202
本章小結(jié) 204
習題 205
第8章 事件處理 209
8.1 了解JavaScript事件 210
8.1.1 JavaScript的常用事件 210
8.1.2 調(diào)用事件處理程序的方法 211
8.2 常用事件在網(wǎng)頁中的應用 213
8.2.1 鼠標事件 213
8.2.2 表單事件 216
8.2.3 頁面相關事件 221
8.2.4 鍵盤事件 222
8.3 小型案例實訓:JavaScript實現(xiàn)
廣告圖像輪播 223
本章小結(jié) 227
習題 227
第9章 利用JavaScript實現(xiàn)Canvas
功能 229
9.1 創(chuàng)建Canvas元素 230
9.2 繪制基本圖形 231
9.2.1 繪制直線 232
9.2.2 繪制圓形 232
9.2.3 繪制矩形 233
9.2.4 繪制多邊形 234
9.3 圖形的變換 235
9.3.1 保存與恢復Canvas狀態(tài) 235
9.3.2 移動坐標位置 236
9.3.3 縮放圖形 237
9.4 使用特效 237
9.5 繪制文本 239
9.6 小型案例實訓:用Canvas繪制
時鐘 240
9.6.1 繪制靜態(tài)時鐘 240
9.6.2 制作動態(tài)時鐘 244
本章小結(jié) 244
習題 245
第10章 綜合案例——購物車功能的
實現(xiàn) 247
10.1 案例介紹 248
10.2 設計思路 248
10.3 實施過程 249
10.3.1 購物車的HTML結(jié)構 249
10.3.2 購物車的樣式設計 251
10.3.3 利用JavaScript實現(xiàn)購物車
功能 256
參考文獻 262
第3章 CSS基礎
本章要點
* CSS的組成。
* HTML文檔如何調(diào)用CSS。
* CSS 3簡介。
學習目標
* 理解CSS的語法規(guī)則。
* 掌握選擇符的使用。
* 學會在HTML文檔中使用CSS。
* 初步了解CSS 3。
3.1 CSS概述
3.1.1 什么是CSS
CSS(Cascading Style Sheet,層疊樣式表或級聯(lián)樣式表,簡稱樣式表)是一種用來表現(xiàn)HTML文件樣式的計算機語言,是網(wǎng)頁文件的重要組成部分。
網(wǎng)頁的內(nèi)容由HTML語言決定,利用CSS修飾HTML各個標記的風格,對網(wǎng)頁中的元素進行精確的格式化控制。
CSS是一種非常靈活的工具,可以實現(xiàn)網(wǎng)頁結(jié)構和表現(xiàn)完全分離,CSS樣式類型除了通用的顏色、字體、背景外,還可以控制字符間距、填充距離、大小等大約50種樣式。
CSS樣式表的功能大致可以歸納為以下幾點。
(1) 控制頁面中文字的字體、顏色、大小、間距、風格及位置。
(2) 設置文本塊的行高、縮進,及具有三維效果的邊框。
(3) 可以方便地定位網(wǎng)頁中的任意元素,設置不同的背景顏色和背景圖片。
(4) 精確控制網(wǎng)頁中各元素的位置。
(5) 與DIV元素結(jié)合布局網(wǎng)頁。
3.1.2 CSS的發(fā)展史
CSS的發(fā)展歷史分為4個階段。
(1) CSS 1。1996年12月,CSS 1正式推出,在這個版本中,已經(jīng)包含了font的相關屬性、顏色與背景的相關屬性、box的相關屬性等。
(2) CSS 2。1998年5月,CSS 2正式推出,在這個版本中開始使用樣式表結(jié)構。
(3) CSS 2.1。2004年2月,CSS 2.1正式推出,它在CSS 2的基礎上略微有所改動,刪除了許多諸如text-shadow等不被瀏覽器所支持的屬性,F(xiàn)在使用的CSS基本上都是在1998年推出的CSS 2的基礎上發(fā)展而來的。
(4) CSS 3。2010年開始,CSS 3逐步發(fā)布,2011年6月成為W3C推薦標準。
3.1.3 CSS 3簡介
2001年,W3C就著手進行CSS 3標準的制定了。CSS 3的一個新特點是規(guī)范被分為若干個相互獨立的模塊,這有利于及時更新和發(fā)布、及時調(diào)整模塊的內(nèi)容。同時,由于受支持設備和瀏覽器廠商的限制,可以有選擇地支持一部分模塊,即支持CSS 3的一個子集。以前網(wǎng)頁中很多效果只有通過圖片和腳本才能實現(xiàn),而利用CSS 3,只需短短幾行代碼就能完成,如圓角、圖片邊框、文字陰影和盒陰影等效果。
目前,主流瀏覽器如Chrome、Safari、Firefox、Opera,甚至360,都已經(jīng)支持CSS 3的大部分功能了,IE10也開始全面支持CSS 3。除了HTML 5,CSS 3將是互聯(lián)網(wǎng)發(fā)展的另一個趨勢。
CSS 3規(guī)范并不是獨立的,它重復了CSS的部分內(nèi)容,在CSS 2的基礎上增加了很多強大的新功能。CSS 3與先前的幾個版本相比,其變化是革命性的,是一個不斷演化和完善的標準,在目前已經(jīng)完成的部分中,CSS 3新增了很多功能。
(1) 強大的CSS 3選擇符。
通過CSS 3選擇符可以直接指定需要的HTML元素,而不需要在HTML中添加不必要的類名、id等。使用CSS 3選擇符,能夠更完美地實現(xiàn)結(jié)構和表現(xiàn)分離,從而設計出簡潔、輕量級的Web頁面。
(2) 可以輕松實現(xiàn)比如圓角、圖片邊框、文字陰影、盒陰影、過渡、動畫等效果。
(3) 盒模型變化。
盒模型在CSS中起著非常重要的作用,過去CSS中的盒模型只能實現(xiàn)一些基本的功能,但一些特殊的功能需要借助JavaScript來實現(xiàn)。而在CSS 3中,這一點得到了很大的改善,例如,CSS 3中的彈性盒子、實現(xiàn)多列布局等。
(4) CSS 3支持更多的顏色和更廣泛的顏色,如HSL、CMYK、HSLA和RGBA。其中HSLA和RGBA還增加了透明通道,能輕松地改變?nèi)魏我粋元素的透明度。
……