版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
HTML5網(wǎng)頁(yè)設(shè)計(jì)與開發(fā)作業(yè)指導(dǎo)書
第1章HTML5基礎(chǔ)入門.............................................................3
1.1網(wǎng)頁(yè)與HTML簡(jiǎn)介..........................................................3
1.1.1網(wǎng)頁(yè)的概念.............................................................3
1.1.2HTML的概念............................................................3
1.2HTML5的發(fā)展歷程.........................................................3
1.3HTML5文檔結(jié)構(gòu)...........................................................4
第2章HTML5文本與排版...........................................................4
2.1文本標(biāo)簽與屬性..........................................................4
2.2標(biāo)題標(biāo)簽與段落標(biāo)簽......................................................5
2.3列表標(biāo)簽.................................................................5
2.4與錨點(diǎn)...................................................................5
第3章HTML5表格與表單...........................................................5
3.1表格標(biāo)簽與屬性..........................................................6
3.2表單標(biāo)簽與屬性...........................................................6
3.3輸入類型與驗(yàn)證...........................................................7
3.4下拉列表與單選、復(fù)選框...................................................7
第4章HTML5多媒體與嵌入.........................................................7
4.1音頻與視頻標(biāo)簽...........................................................7
4.1.1音頻標(biāo)簽<@11優(yōu)0>.......................................................8
4.1.2視頻標(biāo)簽<video>........................................................8
4.2多媒體屬性與方法.........................................................8
4.2.1屬性...................................................................8
4.2.2方法...................................................................9
4.3嵌入第三方內(nèi)容...........................................................9
4.3.1<embed>標(biāo)簽............................................................9
4.3.2<iframe>標(biāo)簽...........................................................9
第5章HTML5圖形與動(dòng)畫...........................................................9
5.1Canvas繪圖基礎(chǔ)..........................................................9
5.1.1Canvas元素概述........................................................9
5.1.2繪制矩形..............................................................10
5.1.3繪制路徑..............................................................10
5.1.4繪制文本..............................................................10
5.1.5圖片處理..............................................................10
5.2SVG矢量圖...............................................................10
5.2.1SVG概述..............................................................10
5.2.2SVG基本圖形..........................................................10
5.2.3SVG路徑..............................................................10
5.2.4SVG文本..............................................................10
5.2.5SVG與CSS、JavaScript的結(jié)合..........................................10
5.3HTML5動(dòng)畫與過(guò)渡效果....................................................10
5.3.1CSS3動(dòng)畫..............................................................11
5.3.2CSS3過(guò)渡效果..........................................................11
5.3.3Canvcis動(dòng)畫............................................................11
5.3.4SVG動(dòng)畫...............................................................11
第6章HTML5客戶端存儲(chǔ)..........................................................11
6.1WebStorage...........................................................................................................................11
6.1.1localStorage.....................................................................................................................11
6.1.2sessionStorage.................................................................................................................11
6.2IndcxedDB數(shù)據(jù)庫(kù).........................................................12
6.2.1IndexedDB的基木概念..................................................12
6.2.2IndexedDB的操作流程..................................................12
6.3離線應(yīng)用................................................................12
6.3.1應(yīng)用緩存(ApplicationCache)..............................................................................12
6.3.2離線資源清單(Manifest)...........................................................................................12
6.3.3離線應(yīng)用的生命周期事件...............................................13
第7章HTUL5地理位置與設(shè)備訪問(wèn).................................................13
7.1地理位置API.........................................................................................................................13
7.1.1地理位置API原理.....................................................13
7.1.2使用地理位置API............................................................................................................13
7.1.3注意事項(xiàng).............................................................14
7.2設(shè)備方向與運(yùn)動(dòng).........................................................14
7.2.1設(shè)備方向與運(yùn)動(dòng)API原理...............................................14
7.2.2使用設(shè)備方向與運(yùn)動(dòng)API................................................................................................14
7.2.3注意事項(xiàng)..............................................................15
7.3訪問(wèn)移動(dòng)設(shè)備功能........................................................15
7.3.1訪問(wèn)攝像頭與麥克風(fēng)...................................................15
7.3.2振動(dòng).................................................................15
7.3.3訪問(wèn)其他設(shè)備功能....................................................15
7.3.4注意事項(xiàng).............................................................15
第8章HTUL5通信與協(xié)作..........................................................15
8.1跨文檔消息傳遞..........................................................15
8.1.1window.postMessage方法..............................................16
8.1.2接收消息..............................................................16
8.2WebWorkers.........................................................................................................................16
8.2.1專用WebWorkers...........................................................................................................16
8.2.2共享WebWorkers...........................................................................................................17
8.3WebSockets.........................................................................................................................18
8.3.1創(chuàng)建WebSocket連接..................................................18
8.3.2使用肥bSockets進(jìn)行通信............................................18
第9章HTML5樣式與布局..........................................................20
9.1CSS3選擇器與屬性.......................................................20
9.1.1CSS3選擇器...........................................................20
9.1.2CSS3屬性.............................................................20
9.2布局與定位..............................................................20
9.2.1常見布局方式.........................................................20
9.2.2定位方式..............................................................21
9.3響應(yīng)式設(shè)計(jì)..............................................................21
9.3.1媒體查詢..............................................................21
9.3.2彈性布局..............................................................21
9.4CSS3動(dòng)畫與過(guò)渡.........................................................21
9.4.1過(guò)渡.................................................................21
9.4.2動(dòng)畫.................................................................22
第10章HTML5實(shí)戰(zhàn)案例..........................................................22
10.1網(wǎng)頁(yè)設(shè)計(jì)與開發(fā)流程....................................................22
10.2案例一:靜態(tài)網(wǎng)頁(yè)制作..................................................23
10.3案例二:動(dòng)態(tài)網(wǎng)頁(yè)制作..................................................23
10.4案例三:移動(dòng)端網(wǎng)頁(yè)制作................................................23
第1章HTML5基礎(chǔ)入門
1.1網(wǎng)頁(yè)與HTML簡(jiǎn)介
1.1.1網(wǎng)頁(yè)的概念
網(wǎng)頁(yè)是構(gòu)成萬(wàn)維網(wǎng)的基本單元,是顯示在用戶瀏覽器上的信息頁(yè)面。它通過(guò)
超文本傳輸協(xié)議(HTTP)傳輸,并使用統(tǒng)一資源定位符(URL)進(jìn)行定位。網(wǎng)頁(yè)
主要由文木、圖片、聲音、視頻等多媒體信息組成。
1.1.2HTML的概念
HTML(HyperTextMarkupLanguage,超文本標(biāo)記語(yǔ)言)是一種用于創(chuàng)建網(wǎng)
頁(yè)的標(biāo)準(zhǔn)標(biāo)記語(yǔ)言。它通過(guò)一系列的標(biāo)記(也稱為標(biāo)簽)來(lái)描述網(wǎng)頁(yè)內(nèi)容,使瀏
覽器能夠展示出相應(yīng)的頁(yè)面結(jié)構(gòu)。HTML是構(gòu)成網(wǎng)頁(yè)的基礎(chǔ),與其他技術(shù)(如CSS、
JavaScript等)共同協(xié)作,實(shí)現(xiàn)豐富多彩的網(wǎng)頁(yè)效果。
1.2HTML5的發(fā)展歷程
HTML5是HTML的第五個(gè)版本,由萬(wàn)維網(wǎng)聯(lián)盟(W3C)和WebHypertext
Applica-tiuuTechnologyWorkingGroup(WHATWG)共同開發(fā)。其主要發(fā)展歷程
如下:
(1)2004年,Web瀏覽器開發(fā)商和W3c開始合作開發(fā)HTML5。
(2)2007年,HTML5第一份正式草案發(fā)布。
(3)2012年,W3c發(fā)布HTML5的候選推薦標(biāo)準(zhǔn)。
(4)2014年,W3c正式發(fā)布HTML5推薦標(biāo)準(zhǔn)。
(5)HTML5的不斷發(fā)展,各大瀏覽器廠商對(duì)其支持度不斷提高,HTMI.5已
成為現(xiàn)代網(wǎng)頁(yè)設(shè)計(jì)與開發(fā)的主流技術(shù)。
1.3HTML5文檔結(jié)構(gòu)
HTML5文檔結(jié)構(gòu)主要包括以下部分:
(1)文檔類型聲明(Doctype)
文檔類型聲明是HTML文檔的第一行,用于告知瀏覽器當(dāng)前文檔所使用的
HTML版本。HTML5的文檔類型聲明如下:
<!D0CTYPE>
(2)根元素
HTML5文檔的根元素為一,所有其他元素都包含在根元素內(nèi)。
(3)頭部(Head)
頭部元素'<hcad〉,包含文檔的元數(shù)據(jù),如標(biāo)題、樣式、腳本等.以下是一些
常見的頭部元素:
'':定義文檔標(biāo)題,顯示在瀏覽器的標(biāo)題欄或頁(yè)面標(biāo)簽上。
'<meta>':定義文檔的元數(shù)據(jù),如字符編碼、關(guān)鍵詞、描述等。
'<link>':外部資源,如樣式表、網(wǎng)站圖標(biāo)等。
'〈script),:引入腳本文件。
(4)主體(Body)
主體元素'<body>'包含網(wǎng)頁(yè)的所有內(nèi)容,如文本、圖片、音頻、視頻等。
(5)標(biāo)簽
HTML5提供了豐富的標(biāo)簽,用于表示頁(yè)面中的各種元素,如段落、標(biāo)題、列
表、表格等。
通過(guò)以上結(jié)構(gòu),HTML5為網(wǎng)頁(yè)設(shè)計(jì)與開發(fā)提供了一個(gè)清晰、靈活的框架。在
此基礎(chǔ)上,開發(fā)者可以充分利用HTML5的新特性,創(chuàng)建出功能強(qiáng)大、兼容性良好
的網(wǎng)頁(yè)。
第2章HTML5文本與排版
2.1文本標(biāo)簽與屬性
在HTML5中,文本內(nèi)容是網(wǎng)頁(yè)設(shè)計(jì)的基礎(chǔ),通過(guò)使用各類文本標(biāo)簽及其屬性,
可以實(shí)現(xiàn)豐富的文本格式與樣式。以下是一些常用的文本標(biāo)簽及其屬性。
(I)<p>標(biāo)簽:定義段落,常用屬性包括align(對(duì)齊方式)和slyle(樣
式)。
(2)<span>標(biāo)簽:無(wú)語(yǔ)義的行內(nèi)元素,通常用于樣式化文本,其屬性主要
是style。
(3)〈strong)標(biāo)簽:定義重要性較高的文本,如強(qiáng)調(diào)句等。
(4)<em>標(biāo)簽:定義強(qiáng)調(diào)文本,與〈strong》標(biāo)簽類似,但強(qiáng)調(diào)程度較輕。
(5)<mark>標(biāo)簽:突出顯示文本。
(6)<del>和<ins>標(biāo)簽:分別表示刪除文本和插入文本。
2.2標(biāo)題標(biāo)簽與段落標(biāo)簽
標(biāo)題標(biāo)簽與段落標(biāo)簽在HTML5中具有明確的語(yǔ)義,用于構(gòu)建文檔結(jié)構(gòu)。
(1)標(biāo)題標(biāo)簽:<hl>至<h6>,分別表示從一級(jí)到六級(jí)標(biāo)題。標(biāo)題標(biāo)簽的
align屬性可設(shè)置標(biāo)題對(duì)齊方式°
(2)段落標(biāo)簽:<p>,表示一個(gè)段落。段落標(biāo)簽的align屬性同樣可設(shè)置
段落對(duì)齊方式。
2.3列表標(biāo)簽
列表標(biāo)簽用于組織并列信息,包括無(wú)序列表、有序列表和定義列表。
(1)無(wú)序列表:<ul>,包含多個(gè)列表項(xiàng):Qi>°無(wú)序列表的type屬性可
設(shè)置列表項(xiàng)符號(hào)類型。
(2)有序列表:<o(jì)l>,包含多個(gè)列表項(xiàng):Qi>。有序列表的type屬性可
設(shè)置列表項(xiàng)編號(hào)類型,如數(shù)字、字母等。
(3)定義列表:<dl>,包含多個(gè)定義項(xiàng):〈dt>和定義描述:<dd>0
2.4與錨點(diǎn)
與錨點(diǎn)在HTML5中通過(guò)<a>標(biāo)簽實(shí)現(xiàn),用于在頁(yè)面之間或頁(yè)面內(nèi)部導(dǎo)航。
(1):使用<“>標(biāo)簽創(chuàng)建超,href屬性指后目標(biāo)地址。
(2)錨點(diǎn):在同一頁(yè)面內(nèi)創(chuàng)建錨點(diǎn),通過(guò)1>標(biāo)簽的name屬性定義錨點(diǎn)名
稱,使用href屬性指向該錨點(diǎn)。
注意:在實(shí)際開發(fā)中,盡量避免使用廢棄的標(biāo)簽和屬性,如align屬性。使
用CSS樣式進(jìn)行文本排版,以實(shí)現(xiàn)更好的頁(yè)面效果和可維護(hù)性。
第3章HTML5表格與表單
3.1表格標(biāo)簽與屬性
在HTML5中,表格通過(guò)以下標(biāo)簽進(jìn)行創(chuàng)建:
<table>:定義表格。
'〈caption>':定義表格標(biāo)題。
'<thead>':定義表格的表頭。
'<tbody>':定義表格的主體。
'<tr>':定義表格的行。
<lh>:定義表頭單兀格。
'<td>':定義標(biāo)準(zhǔn)單元格。
表格的屬性包括:
'border':設(shè)置表格的邊框?qū)挾取?/p>
'collpadding':設(shè)置單元格內(nèi)容與邊框之間的空白距離.
'cellspacing':設(shè)置單元格之間的距離。
align':設(shè)置表格的水平對(duì)齊方式,可以是'left'、'center'或'right'。
'valign':設(shè)置表格的垂直對(duì)齊方式,可以是top'、middle'、bottom'
或baseline。
3.2表單標(biāo)簽與屬性
表單用于收集用戶輸入,在HTML5中,常用以下標(biāo)簽創(chuàng)建表單:
'<form>':定義表單。
'〈input>':定義輸入字段。
'〈textarea)':定義多行文本輸入字段。
'〈select)':定義下拉列表。
,〈option)':定義下拉列表中的選項(xiàng)。
<oplgxoup>':定義選項(xiàng)組。
'〈button)':定義按鈕。
'<fieldset>':將表單中的元素組合在一起。
'〈legend>':定義字段集的標(biāo)題。
表單屬性包括:
'action':規(guī)定當(dāng)提交表單時(shí)向何處發(fā)送數(shù)據(jù)。
'method':規(guī)定用于發(fā)送表單數(shù)據(jù)的HTTP方法,通常是'get'或'post'。
'enctype':規(guī)定表單數(shù)據(jù)在發(fā)送之前如何迸行編碼,通常用于'post'方法。
name':規(guī)定表單的名稱,用于在JavaScript中引用。
'autoplete':規(guī)定表單是否應(yīng)該啟用自動(dòng)完成功能。
3.3輸入類型與驗(yàn)證
HTML5為'〈input〉'元素增加了多種輸入類型,以增強(qiáng)表單的交互性和數(shù)據(jù)
驗(yàn)證功能:
文本輸入類型:text'、password'、e'、、tel'等。
數(shù)字輸入類型:number'>range>datetimedatetimelocalAdate、
monthweek、time'o
其他輸入類型:color'、file'、hidden'。
為了進(jìn)行數(shù)據(jù)驗(yàn)證,HTML5引入了以下屬性:
'required':指定某個(gè)輸入字段為必填項(xiàng)。
'pattern':規(guī)定輸入字段的模式,用于驗(yàn)證輸入內(nèi)容是否與指定模式匹配。
'min\'max\step':用于數(shù)值類型的輸入字段,分別規(guī)定最小值、最
大值和合法數(shù)字間隔。
'maxlcngth'、'ninlength':規(guī)定文本輸入字段的最大和最小長(zhǎng)度。
3.4下拉列表與單選、復(fù)選框
下拉列表、單選框和復(fù)選框是表單中的常見元素,用于提供多項(xiàng)選擇給用戶:
'〈select>'和'〈option>':創(chuàng)建下拉列表。
'<optgroup>':在大型下拉列表中創(chuàng)建分組。
單選按鈕通過(guò)以下方式實(shí)現(xiàn):
'<input>'元素,設(shè)置'type="radio”'屬性。
復(fù)選框通過(guò)以下方式實(shí)現(xiàn):
'〈input〉'元素,設(shè)置'type—checkbox”'屬性。
這些元素通常結(jié)合使用'name'和'value'屬性來(lái)保證表單數(shù)據(jù)的正確提交和
處理。
第4章HTML5多媒體與嵌入
4.1音頻與視頻標(biāo)簽
HTML5為網(wǎng)頁(yè)提供了原生的音頻和視頻支持,無(wú)需依賴第三方插件。本章首
先介紹音頻與視頻標(biāo)簽的使用。
4.1.1音頻標(biāo)簽〈audio>
<audio>標(biāo)簽用于在網(wǎng)頁(yè)中嵌入音頻內(nèi)容。以下為〈audio》標(biāo)簽的基本用法:
<audiocontrols)
<sourcesrc二〃audio,mp3"type二〃audio/mpeg”>
<sourcesrc二〃audio,ogg“type="audio/ogg〃>
您的瀏覽器不支持audio元素。
</audio>
其中,controls屬性表示顯示默認(rèn)的控件,包括播放、暫停按鈕等。source
標(biāo)簽用于指定不同的音頻文件格式和路徑,type屬性指明音頻文件的MIME類型。
4.1.2視頻標(biāo)簽<、"dec》
〈video》標(biāo)簽用于在網(wǎng)頁(yè)中嵌入視頻內(nèi)容。以下為〈video)標(biāo)簽的基本用法:
<videocontrolswidth="320〃height=〃240〃>
<sourcesrc二〃video.mp4〃type二〃video/mp4〃>
<sourcesrc=〃video.webnTtype=〃video/webm〃>
您的瀏覽器不支持video元素。
</vidco>
與〈audio)標(biāo)簽類似,<video>標(biāo)簽也包含controls屬性和source標(biāo)簽???/p>
以通過(guò)width和height屬性設(shè)置視頻播放器的寬度和高度。
4.2多媒體屬性與方法
HTML5為音頻和視頻元素提供了一系列屬性和方法,以便開發(fā)者進(jìn)行更復(fù)雜
的操作。
4.2.1屬性
音頻和視頻元素共有的屬性包括:
controls:顯示或隱藏默認(rèn)控件。
autoplay:自動(dòng)播放媒體。
loop:循環(huán)播放媒體。
muted:靜音。
preload:指定是否預(yù)加載媒體內(nèi)容。
還包括以下屬性:
audio元素特有的屬性:如volume(音量)。
video元素特有的屬性:如width(寬度)、height(高度)。
4.2.2方法
音頻和視頻元素提供了一系列方法,用于控制媒體播放:
play0:開始播放媒體。
pause0:暫停播放媒體。
loadO:重新加載媒體。
canPlayTypcO:檢查瀏覽器是否能播放指定類型的媒體。
4.3嵌入第三方內(nèi)容
除了使用音頻和視頻標(biāo)簽,HTMI.5還支持通過(guò)其他標(biāo)簽嵌入第二方內(nèi)容.
4.3.1<embed>標(biāo)簽
<embed>標(biāo)簽用于嵌入外部?jī)?nèi)容,如Flash動(dòng)畫、PDF文件等。
<embedsre二〃externalcontent,swf”
type-z,application/xshockwaveflashz,>
4.3.2<iframe>標(biāo)簽
<iframo>標(biāo)簽用于在一個(gè)HTML文檔內(nèi)嵌入另一個(gè)HTML頁(yè)面。
<iframesrc=,/://example.width=〃300〃height=〃200〃></iframe>
通過(guò)以上介紹,我們可以看到HTML5為多媒體和嵌入內(nèi)容提供了豐富的標(biāo)簽
和屬性,使得網(wǎng)頁(yè)開發(fā)更加靈活和方便。在實(shí)際開發(fā)過(guò)程中,開發(fā)者可以根據(jù)需
求選擇合適的方法和屬性,實(shí)現(xiàn)多樣化的多媒體展示。
第5章HTML5圖形與動(dòng)畫
5.1Canvas繪圖基礎(chǔ)
Canvas元素是HTML5中新增的一個(gè)非常重要的繪圖機(jī)制,它為網(wǎng)頁(yè)提供了
一個(gè)通過(guò)腳本(通常是JavaScript)在網(wǎng)頁(yè)上繪制圖形的環(huán)境。本節(jié)將介紹
Canvas的基本用法。
5.1.1Canvas元素概述
Canvas元素是〈canvas)標(biāo)簽定義的,它相當(dāng)于網(wǎng)頁(yè)上的一個(gè)畫布,可以在
上面繪制各種圖形。Canvas支持兩種繪圖方式:矩形繪圖和路徑繪圖。
5.1.2繪制矩形
矩形是Canvas繪圖中最基礎(chǔ)的圖形。通過(guò)CanvasAPI,可以繪制填充矩形
和邊框矩形。
5.1.3繪制路徑
路徑繪圖是Canvas的核心功能之一,它可以繪制線段、曲線等復(fù)雜圖形。
路徑繪圖的APT包括moveTo、1ineTo、arcTo等。
5.1.4繪制文本
Canvas也支持繪制文本??梢酝ㄟ^(guò)設(shè)置字體、顏色等屬性來(lái)控制文本的顯
示效果。
5.1.5圖片處理
Canvas不僅支持繪制基本圖形,還可以用于處理圖片c可以使用CanvasAPI
將圖片繪制到畫布上,并進(jìn)行縮放、旋轉(zhuǎn)等操作。
5.2SVG矢量圖
SVG(SealableVectorGraphics)是一種基于XML的矢量圖形格式,與Canvas
不同,SVG是一種獨(dú)立的圖像格式,可以直接嵌入到HTML頁(yè)面中。本節(jié)將介紹
SVG的基本用法。
5.2.1SVG概述
SVG是一種矢量圖形格式,它可以在不失真的情況下無(wú)限放大和縮小。由于
SVG是基于XML的,因此可以使用文本編輯器創(chuàng)建和編輯。
5.2.2SVG基本圖形
SVG支持多種基本圖形,如矩形、圓形、橢閱、線段、多邊形等。
5.2.3SVG路徑
與Canvas相似,SVG也支持路徑繪圖??梢酝ㄟ^(guò)<口口山>元素定義路徑。
5.2.4SVG文本
SVG可以輕松創(chuàng)建和格式化文本內(nèi)容,支持字體、大小、顏色等屬性。
5.2.5SVG與CSS、JavaScript的結(jié)合
SVG可以與CSS和JavaScript相結(jié)合,實(shí)現(xiàn)豐富的交互效果和動(dòng)畫。
5.3HTML5動(dòng)畫與過(guò)渡效果
HTML5提供了豐富的動(dòng)畫和過(guò)渡效果支持,使得網(wǎng)頁(yè)設(shè)計(jì)更加生動(dòng)有趣。本
節(jié)將介紹HTML5中的動(dòng)畫和過(guò)渡效果。
5.3.1CSS3動(dòng)畫
CSS3引入了動(dòng)畫功能,通過(guò)keyframes規(guī)則定義動(dòng)畫序列,然后使用
animation屬性應(yīng)用到元素上。
5.3.2CSS3過(guò)渡效果
過(guò)渡效果是指在某個(gè)屬性值發(fā)生變化時(shí),以平滑的方式過(guò)渡到新值??梢酝?/p>
過(guò)transition屬性實(shí)現(xiàn)。
5.3.3Canvas動(dòng)畫
Canvas動(dòng)畫通常使用JavaScript定時(shí)器(如setinterval或
requestAnimationFrane)來(lái)實(shí)現(xiàn)。
5.3.4SVG動(dòng)畫
SVG動(dòng)畫可以使用SMIL(SynchronizedMultimediaIntegrationLanguage)
實(shí)現(xiàn),也可以與CSS3動(dòng)畫和JavaScript相結(jié)合。
通過(guò)本章的學(xué)習(xí),讀者應(yīng)掌握HTML5圖形與動(dòng)畫的基本知識(shí)和技能,為后續(xù)
開發(fā)實(shí)踐打下堅(jiān)實(shí)的基礎(chǔ)。
第6章HTML5客戶端存儲(chǔ)
6.1WebStorage
WebStorage為Web應(yīng)用提供了在客戶端存儲(chǔ)數(shù)據(jù)的手段,相較于傳統(tǒng)的
Cookie存儲(chǔ)方式,其存儲(chǔ)容量更大,功能更優(yōu)。WebStorage包含兩種存儲(chǔ)方式:
localstorage和sessionStorageo
6.1.1localstorage
localStorage提供永久性存儲(chǔ)數(shù)據(jù)的能力,存儲(chǔ)的數(shù)據(jù)在頁(yè)面會(huì)話之間持
久存在,不會(huì)因?yàn)闀?huì)話結(jié)束而清除。
特點(diǎn):
存儲(chǔ)容量較大,一般達(dá)到5MB左右。
數(shù)據(jù)僅在客戶端存儲(chǔ),不會(huì)發(fā)送到服務(wù)器。
存儲(chǔ)的數(shù)據(jù)類型為字符串,對(duì)于復(fù)雜類型的數(shù)據(jù)需要先進(jìn)行序列化。
6.1.2sessionStorage
sessionStorage提供臨時(shí)性存儲(chǔ)數(shù)據(jù)的能力,存儲(chǔ)的數(shù)據(jù)僅在當(dāng)前會(huì)話中
有效,一旦會(huì)話結(jié)束,存儲(chǔ)的數(shù)據(jù)將被清除。
特點(diǎn):
存儲(chǔ)容量與localStorage相當(dāng)。
數(shù)據(jù)僅在當(dāng)前會(huì)話有效,適用于存儲(chǔ)一些臨時(shí)性、敏感性的數(shù)據(jù)。
使用方法與localStorage類似。
6.2IndexedDB數(shù)據(jù)庫(kù)
IndexedDB是一種在瀏覽器中實(shí)現(xiàn)的非關(guān)系圖數(shù)據(jù)庫(kù),提供了豐富的查詢功
能,支持存儲(chǔ)結(jié)構(gòu)化數(shù)據(jù)。IndexedDB適用于需要存儲(chǔ)大量數(shù)據(jù),并旦對(duì)這些數(shù)
據(jù)進(jìn)行復(fù)雜查詢的場(chǎng)景。
6.2.1IndexedDB的基本概念
數(shù)據(jù)庫(kù):存儲(chǔ)數(shù)據(jù)的容器C
對(duì)象倉(cāng)庫(kù):數(shù)據(jù)庫(kù)中的一個(gè)表,用于存儲(chǔ)數(shù)據(jù)。
索引:用于快速查找數(shù)據(jù)。
事務(wù):一組操作,要么全部成功,要么全部失敗。
6.2.2IndexedDB的操作流程
(1)打開數(shù)據(jù)庫(kù):使用indexcdDB.open(J方法打開數(shù)據(jù)庫(kù)。
(2)創(chuàng)建對(duì)象倉(cāng)庫(kù):在數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)對(duì)象倉(cāng)庫(kù)用于存儲(chǔ)數(shù)據(jù)。
(3)創(chuàng)建索引:在對(duì)象倉(cāng)庫(kù)上創(chuàng)建索引,提高查詢效率。
(4)執(zhí)行事務(wù):在事務(wù)中執(zhí)行增刪改查操作。
(5)關(guān)閉數(shù)據(jù)庫(kù):使用數(shù)據(jù)庫(kù)實(shí)例的closeO方法關(guān)閉數(shù)據(jù)庫(kù)。
6.3離線應(yīng)用
離線應(yīng)用是指在網(wǎng)絡(luò)不可用的情況下,仍然可以正常使用的Web應(yīng)用。HTML5
提供了離線應(yīng)用的支持,通過(guò)以下技術(shù)實(shí)現(xiàn):
6.3.1應(yīng)用緩存(ApplicationCache)
應(yīng)用緩存允許Web應(yīng)用將資源緩存到本地,從而在離線狀態(tài)下也能訪問(wèn)這些
資源。
6.3.2離線資源清單(Manifest)
離線資源清單是一個(gè)文本文件,用于指定需要緩存的資源。瀏覽器會(huì)根據(jù)資
源清單并緩存指定的資源。
6.3.3離線應(yīng)用的生命周期事件
離線應(yīng)用可以監(jiān)聽以下生命周期事件:
online:網(wǎng)絡(luò)連接恢復(fù)時(shí)觸發(fā)。
offline:網(wǎng)絡(luò)連接斷開時(shí)觸發(fā)。
updating:瀏覽器正在更新資源時(shí)觸發(fā)。
updated:瀏覽器完成更新資源時(shí)觸發(fā)。
通過(guò)以上技術(shù),可以開發(fā)出在離線狀態(tài)下仍然可以正常使用的Web應(yīng)用。
第7章HTML5地理位置與設(shè)備訪問(wèn)
7.1地理位置API
HTML5地理位置API允許Web應(yīng)用獲取用戶的地理位置信息。這一功能的實(shí)
現(xiàn)主要依賴于navigator對(duì)象中的gpolocation屬性c本節(jié)將詳細(xì)介紹地理位置
API的原理、用法及注意事項(xiàng)。
7.1.1地理位置API原理
地理位置APT通過(guò)瀏覽器與設(shè)備的GPS、WiFi或移動(dòng)網(wǎng)絡(luò)等模塊交互,獲取
用戶的經(jīng)緯度信息。瀏覽器會(huì)向用戶請(qǐng)求允許獲取地理位置信息的權(quán)限,用戶同
意后,Web應(yīng)用才能獲取到相應(yīng)的數(shù)據(jù)。
7.1.2使用地理位置API
要使用地理位置API,首先需要檢查瀏覽器是否支持該功能:
javascript
if(navigator,geolocation){
//瀏覽器支持地理位置API
}else{
//瀏覽器不支持地理位置API
}
獲取用戶當(dāng)前位置:
javascript
navigator,geolocation.getCurrentPosition(successCalIback,
errorCallback,options);
其中,'successCallback為獲取位置成功的回調(diào)函數(shù),errorCalIback
為獲取位置失敗的回調(diào)函數(shù),'options'為可選參數(shù),用于設(shè)置獲取位置的相關(guān)
選項(xiàng)。
7.1.3注意事項(xiàng)
在使用地理位置API時(shí),需要關(guān)注以下事項(xiàng):
(1)用戶隱私:獲取用戶地理位置信息涉及用戶隱私,必須保證用戶同意。
(2)位置精度:地理位置API返回的位置信息可能存在誤差,應(yīng)根據(jù)實(shí)際
需求調(diào)整精度。
(3)跨域限制:出于安全考慮,瀏覽器對(duì)跨域請(qǐng)求獲取地理位置信息有限
制。
7.2設(shè)備方向與運(yùn)動(dòng)
HTMI.5提供了設(shè)備方向與運(yùn)動(dòng)APT,允許Wch應(yīng)用獲取設(shè)備的方向和運(yùn)動(dòng)信
息。本節(jié)將介紹設(shè)備方向與運(yùn)動(dòng)API的原理和使用方法。
7.2.1設(shè)備方向與運(yùn)動(dòng)API原理
設(shè)備方向與運(yùn)動(dòng)APT通過(guò)設(shè)備的陀螺儀、加速計(jì)等傳感器獲取設(shè)備的運(yùn)動(dòng)狀
態(tài)。瀏覽器會(huì)監(jiān)聽設(shè)備的運(yùn)動(dòng)事件,Web應(yīng)用可以通過(guò)這些事件獲取到設(shè)備的相
關(guān)信息。
7.2.2使用設(shè)備方向與運(yùn)動(dòng)API
要使用設(shè)備方向與運(yùn)動(dòng)API,首先需要檢查瀏覽器是否支持該功能:
javascript
if(window.DeviceMotionEvent){
//瀏覽器支持設(shè)備方向與運(yùn)動(dòng)API
}else{
//瀏覽器不支持設(shè)備方向與運(yùn)動(dòng)API
}
監(jiān)聽設(shè)備運(yùn)動(dòng)事件:
javascript
window.addEventListener(tdevicemotion',deviceMotionHandler,
false);
其中,'deviceMotionHandler'為處理設(shè)備運(yùn)動(dòng)事件的函數(shù)。
7.2.3注意事項(xiàng)
在使用設(shè)備方向與運(yùn)動(dòng)API時(shí),需要注意以下事項(xiàng):
(1)用戶隱私:獲取設(shè)備運(yùn)動(dòng)信息可能涉及用戶隱私,保證用戶同意。
(2)電池消耗:持續(xù)使用設(shè)備方向與運(yùn)動(dòng)AF1可能導(dǎo)致設(shè)備電池消耗加快。
(3)傳感器誤差:設(shè)備的傳感器可能存在誤差,應(yīng)根據(jù)實(shí)際需求調(diào)整精度。
7.3訪問(wèn)移動(dòng)設(shè)備功能
HTML5提供了一系列APL允許Web應(yīng)用訪問(wèn)移動(dòng)設(shè)備的硬件功能,如攝像
頭、麥克風(fēng)、振動(dòng)器等。本節(jié)將介紹如何使用這些APT。
7.3.1訪問(wèn)攝像頭與麥克風(fēng)
使用'〈inputtype=〃file〃>'標(biāo)簽,可以訪問(wèn)移動(dòng)設(shè)備的攝像頭和相冊(cè):
<input.captiirp=zzcampra/z>
<inputtype="fi:e〃capture="microphone”)
還可以使用WebRTC技術(shù)實(shí)現(xiàn)實(shí)時(shí)視頻和音頻通信。
7.3.2振動(dòng)
使用VibrationAPI,可以在移動(dòng)設(shè)備上實(shí)現(xiàn)振動(dòng)效果:
javascript
navigator,vibrato(1000);//振動(dòng)1秒
7.3.3訪問(wèn)其他設(shè)備功能
HTML5還提供了其他API,如訪問(wèn)設(shè)備的聯(lián)系人、短信、電話等。這些API
的使用方法與上述類似,需要檢查瀏覽器支持情況,并根據(jù)相關(guān)API規(guī)范進(jìn)行調(diào)
用。
7.3.4注意事項(xiàng)
在使用訪問(wèn)移動(dòng)設(shè)備功能的API時(shí),需要注意以下事項(xiàng):
(1)用戶權(quán)限:保證獲取用戶同意,避免未經(jīng)授權(quán)訪問(wèn)設(shè)備功能。
(2)兼容性:不同移動(dòng)設(shè)備的API支持程度可能不同,需要進(jìn)行充分測(cè)試。
(3)安全性:避免濫用設(shè)備功能,保證用戶隱私和數(shù)據(jù)安全。
第8章HTML5通信與協(xié)作
8.1跨文檔消息傳遞
跨文檔消息傳遞(CrossOriginMessaging)是HTML5中的一項(xiàng)重要特性,
允許來(lái)自不同源(協(xié)議、域名和端口)的文檔之間進(jìn)行安全的通信。本節(jié)將介紹
如何使用window.postMessage方法實(shí)現(xiàn)跨文檔消息傳遞。
8.1.1window.postMessage方法
window.postMessage方法允許一個(gè)窗口向另一個(gè)窗口發(fā)送消息,無(wú)論這兩
個(gè)窗口是否屬于同一個(gè)域。其基本語(yǔ)法如下:
targetWindow.postMessage(message,targetOrigin,[transfer]);
其中,targelWindow表示目標(biāo)窗口的引用;message是要發(fā)送的消息內(nèi)容;
largelOrigin指定目標(biāo)窗口的源,可以是字符串"〃表示不限制源;transfer(可
選)是一個(gè)數(shù)組,包含一系列Transferable對(duì)象,用于向目標(biāo)窗口傳遞所有權(quán)。
8.1.2接收消息
要接收通過(guò)postMpssagp發(fā)送的消息,需要在窗口中監(jiān)聽massaga事件八以
下是一個(gè)示例:
javascript
window.addEventListener(^message^,function(event){
//僅處理來(lái)自預(yù)期源的消息
if(event,origin!==〃預(yù)期源〃){
return;
}
//處理接收到的消息
console,log(〃收到消息:〃,event,data);
});
8.2WebWorkers
WebWorkux-5是HTML5中引入的一項(xiàng)特性,允許開發(fā)者在瀏覽器后臺(tái)運(yùn)行
JavaScript腳本,而不影響頁(yè)面功能。WebWorkers可以分為兩種類型:專用
WebWorkers和共享WebWorkerso
8.2.1專用WebWorkers
專用WebWorkers僅能被創(chuàng)建它的頁(yè)面訪問(wèn)。創(chuàng)建專用WebWorker的步驟
如下:
(1)創(chuàng)建一個(gè)JavaScript文件,包含要在后臺(tái)運(yùn)行的腳本。
(2)在主頁(yè)面中創(chuàng)建一個(gè)WebWorker實(shí)例,加載該腳本文件。
以下是一個(gè)示例:
javascript
//創(chuàng)建專用WebWorker
varworker=newWorker("worker.js〃);
//監(jiān)聽來(lái)自WebWorker的消息
worker.addEventListener(^message^,function(event){
console.log("收到來(lái)自WebWorker的消息:〃,event,data);
});
//向WebWorker發(fā)送消息
workpr.post.Mpssagp(^HPIIO,WebWcrker!”);
8.2.2共享WebWorkers
共享WebWorkers可以被同一域名下的多個(gè)頁(yè)面訪問(wèn)。創(chuàng)建共享WebWorker
的步驟如下:
(1)創(chuàng)建一個(gè)共享的JavaScript文件,包含要在后臺(tái)運(yùn)行的腳本。
(2)在每個(gè)頁(yè)面中創(chuàng)建一個(gè)共享呢bWorker實(shí)例,加載該腳本文件。
以下是一個(gè)示例:
javascript
//創(chuàng)建共享WebWorker
varsharedWorker=newSharedWorker(^sharedWorker.jsz,);
//連接到共享WebWorker
sharedWorker.port,start0;
//監(jiān)聽來(lái)自共享呢bWorker的消息
sharedWorker.port.addEventListener(,,message,z,function(event){
console.log("收到來(lái)自共享WebWorker的消息:〃,event,data);
});
//向共享WebWorker發(fā)送消息
sharedWorker.port.postMessageC'Hello,SharedWebWorker!”);
8.3WebSockets
WebSockets是一種全雙工通信協(xié)議,允許瀏覽器和服務(wù)器之間進(jìn)行實(shí)時(shí)、
雙向通信。與傳統(tǒng)的HTTP請(qǐng)求/響應(yīng)模式不同,WebSockets在客戶端和服務(wù)器
之間建立一個(gè)持久的連接,從而實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)傳輸。
8.3.1創(chuàng)建WebSocket連接
要?jiǎng)?chuàng)建WebSocket連接,需要使用WebSocket構(gòu)造函數(shù),并提供服務(wù)器的
WebSocketURL。以下是一個(gè)示例:
javascript
//創(chuàng)建WebSocket連接
varsocket=newWebSocket(〃ws:〃examp:c./sockctServcr");
//連接打開時(shí)觸發(fā)
sockpt.,onoppn=function(pvont.){
console.log(,,WebSocket連接己打開:〃,event);
//向服務(wù)器發(fā)送消息
socket,send(^Hello,Server!”);
);
//接收到服務(wù)器消息時(shí)觸發(fā)
socket,onmessage=function(event){
console,log(〃收到服務(wù)器消息:〃,event,data);
);
//連接關(guān)閉時(shí)觸發(fā)
socket,onclose二function(event){
console.log(,,WebSocket連接已關(guān)閉:〃,event);
);
//連接出錯(cuò)時(shí)觸發(fā)
socket,onerror=function(error){
console.log(z,WebSocket連接出錯(cuò):",error);
};
8.3.2使用WebSockets進(jìn)行通信
通過(guò)WebSockets,可以在客戶端和服務(wù)器之間傳輸文本和二進(jìn)制數(shù)據(jù),以
下是一個(gè)簡(jiǎn)單的示例,展示如何通過(guò)WebSockets發(fā)送和接收文本消息。
服務(wù)器端(Node,js):
javascript
constWebSocketServer=require(^ws^).Server;
constwss=newWebSocketServer({port:8080);
wss.on("connection”,function(socket)[
socket,on("message”,function(message){
console.log("收到客戶端消息:",message);
//回復(fù)客戶端消息
socket,send(,zHello,Client!/z);
1):
});
客戶端:
javascript
//創(chuàng)建WebSocket連接
varsocket=newWebSocket(z,ws://localhost:8080^);
//監(jiān)聽打開、消息、關(guān)閉事件
socket,onopen=function(event){
console,log(〃連接已打開:〃,event);
//向服務(wù)器發(fā)送消息
socket.sendC'Hello,Server!z,);
);
socket,oi皿cssugc=fuiiclion(event){
console.log(〃收到服務(wù)器消息:",event,data);
};
socket,enclose=function(event){
console,log(〃連接已關(guān)閉:〃,event);
};
第9章HTML5樣式與布局
9.1CSS3選擇器與屬性
CSS3提供了豐富的選擇器與屬性,使得網(wǎng)頁(yè)樣式設(shè)計(jì)更加靈活和多樣化。
本節(jié)將詳細(xì)介紹CSS3的選擇器與屬性。
9.1.1CSS3選擇器
CSS3選擇器主要包括以下幾類:
(1)標(biāo)簽選擇器:通過(guò)HTML標(biāo)簽名來(lái)選擇元素。
(2)類選擇器:通過(guò)元素的class屬性值來(lái)選擇元素。
(3)TD選擇器:通過(guò)元素的id屬性值來(lái)選擇元素。
(4)屬性選擇器:通過(guò)元素的屬性及其值來(lái)選擇元素。
(5)偽類選擇器:通過(guò)元素的特定狀態(tài)來(lái)選擇元素,如:hover、:focus
等.
(6)組合選擇器:將多個(gè)選擇器組合在一起,實(shí)現(xiàn)更復(fù)雜的選擇功能。
9.1.2CSS3屬性
CSS3屬性主要包括以下幾類:
(1)文本與字體屬性:如fontsize、fontfamily、textalign^lineheight
等。
(2)顏色與背景屬性:如color>backgroundcolor、backgroundimage、
backgroundposition等。
(3)盒模型屬性:如margin、padding、border、width、height等。
(4)布局屬性:如display、float、position、flex等。
(5)變形與動(dòng)畫屬性:如transform、animation、transition等。
9.2布局與定位
布局與定位是網(wǎng)頁(yè)設(shè)計(jì)中非常重要的一環(huán),合理的布局與定位可以使網(wǎng)頁(yè)內(nèi)
容更加清晰、易于閱讀。
9.2.1常見布局方式
(1)流式布局:元素按照文檔流從左到右
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 試洗臺(tái)布協(xié)議書
- 試驗(yàn)示范協(xié)議書
- 工程合同廢止協(xié)議
- 房產(chǎn)眾籌協(xié)議書
- 律師協(xié)議合同模板
- 2025年聊城市文啟高級(jí)中學(xué)教師招聘(2人)備考核心題庫(kù)及答案解析
- 蔚藍(lán)航空協(xié)議書
- 小巴投資協(xié)議書
- 員工返聘合同范本
- 證書借用協(xié)議書
- 貴州省貴陽(yáng)市2026屆高三上學(xué)期11月質(zhì)量監(jiān)測(cè)(期中)物理試卷(含解析)
- 雨課堂學(xué)堂在線學(xué)堂云《成語(yǔ)與中國(guó)文化(復(fù)旦大學(xué) )》單元測(cè)試考核答案
- 2025年四川省高職單招中職類職業(yè)技能綜合測(cè)試(電子信息類)
- 護(hù)理指標(biāo)解讀
- 路牌應(yīng)急預(yù)案
- 學(xué)校學(xué)生助學(xué)金管理制度
- 公安違規(guī)飲酒試題及答案
- 軟件開發(fā)項(xiàng)目源代碼移交規(guī)范
- 全季酒店裝飾施工方案
- 保密觀知識(shí)競(jìng)賽題庫(kù)(附答案)
- 工程項(xiàng)目結(jié)算審核指標(biāo)與績(jī)效考核標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論