HTML5
學習目标
【了解】了解什麼是HTML
【掌握】HTML的基本結構
【了解】ISO-639 語言代碼
【掌握】HTML的編碼規範
【掌握】HTML的行級元素與塊級元素
【掌握】表單與表格的使用
【掌握】語義化與頁面常見布局
【了解】多媒體元素
【了解】圖像動畫元素、資料清單
一、Web開發
1.1 概念
- 全稱World Wide Web,縮寫:www 全球廣域網,又稱網際網路。
- World Wide Web Consortium,縮寫:W3C,網際網路聯盟。其負責制定和維護Web行業标準,也叫W3C标準
說明:
- W3C标準包括:
- HTML内容:HTML、XHTML
- 樣式美化:CSS
- 結構文檔通路:DOM(Document Object Model)
- 頁面互動:ECMAScript
- 通常情況下web主要指浏覽器與web應用伺服器的通信
- 通常web主要通過HTTP協定通信
- Web前端主要指浏覽器端呈現内容的開發,由于浏覽器是直接與使用者打交道故稱為Web前端
注意:
W3C 官方文檔: https://www.w3.org/standards/webdesign/
Web開發技術 MDN文檔:https://developer.mozilla.org/zh-CN/docs/Web
二、HTML基礎
2.1 什麼是HTML
HTML:(Hyper Text Markup Language) 超文本标記語言,通常情況下指代網頁的源碼
2.2 HTML的基本結構(3分鐘練習時間)
<!DOCTYPE html>
<!-- 網頁的語言類型 -->
<html lang="zh_CN">
<!--網頁的頭部内容-->
<head>
<!--網頁編碼設定-->
<meta charset="UTF-8">
<!-- 給搜尋引擎提供資訊 (項目完成上線後才開始書寫) -->
<!-- 關鍵字 -->
<meta name="keywords" content="百貨,數位,家電">
<!-- 内容描述資訊 -->
<meta name="description" content="第一家網上交易,各類産品...">
<!--網頁标題-->
<title>百度一下,你就知道</title>
<!--設定網頁的标題的圖示-->
<link rel="icon" href="img/favicon.ico" />
</head>
<!--網頁的主體顯示内容-->
<body>
這是網頁的内容
</body>
</html>
該結構滿足W3C提倡的結構:
- 标簽成對出現,特殊标簽使用/>進行閉合
- 标簽均為小寫
- 元素結構層次清晰
- HTML内容結構 具有語義化
2.3 ISO-639 語言代碼清單
如果隻寫前面部分,則代表通用,例如zh,代表zh_CN、zh_TW、zh_HK
2.3.1 常用的
國家地區 | 語言辨別 |
---|---|
簡體中文(中國) | zh_CN |
繁體中文(台灣地區) | zh_TW |
英語(美國) | en_US |
英語(英國) | en_GB |
韓文(南韓) | ko_KR |
日語(日本) | ja_JP |
法語(法國) | fr_FR |
德語(德國) | de_DE |
俄語(俄羅斯) | ru_RU |
2.3.2 不常用的
國家地區 | 語言辨別 |
---|---|
繁體中文(香港) | zh_HK |
英語(香港) | en_HK |
英語(全球) | en_WW |
英語(加拿大) | en_CA |
英語(澳洲) | en_AU |
英語(愛爾蘭) | en_IE |
英語(芬蘭) | en_FI |
芬蘭語(芬蘭) | fi_FI |
英語(丹麥) | en_DK |
丹麥語(丹麥) | da_DK |
英語(以色列) | en_IL |
希伯來語(以色列) | he_IL |
英語(南非) | en_ZA |
英語(印度) | en_IN |
英語(挪威) | en_NO |
英語(新加坡) | en_SG |
英語(紐西蘭) | en_NZ |
英語(印度尼西亞) | en_ID |
英語(菲律賓) | en_PH |
英語(泰國) | en_TH |
英語(馬來西亞) | en_MY |
英語(阿拉伯) | en_XA |
荷蘭語(荷蘭) | nl_NL |
荷蘭語(比利時) | nl_BE |
葡萄牙語(葡萄牙) | pt_PT |
葡萄牙語(巴西) | pt_BR |
法語(盧森堡) | fr_LU |
法語(瑞士) | fr_CH |
法語(比利時) | fr_BE |
法語(加拿大) | fr_CA |
西班牙語(拉丁美洲) | es_LA |
西班牙語(西班牙) | es_ES |
西班牙語(阿根廷) | es_AR |
西班牙語(美國) | es_US |
西班牙語(墨西哥) | es_MX |
西班牙語(哥倫比亞) | es_CO |
西班牙語(波多黎各) | es_PR |
德語(奧地利) | de_AT |
德語(瑞士) | de_CH |
意大利語(意大利) | it_IT |
希臘語(希臘) | el_GR |
挪威語(挪威) | no_NO |
匈牙利語(匈牙利) | hu_HU |
土耳其語(土耳其) | tr_TR |
捷克語(捷克共和國) | cs_CZ |
斯洛文尼亞語 | sl_SL |
波蘭語(波蘭) | pl_PL |
瑞典語(瑞典) | sv_SE |
西班牙語 (智利) | es_CL |
三、 HTML的内容标簽
3.1 分類
- 塊級元素,沒有樣式修飾的情況下,在浏覽器中獨占一行的标簽。
- 行級元素,在沒有樣式修飾的情況下,在浏覽器中從左向右逐個顯示的标簽。
[外鍊圖檔轉存失敗,源站可能有防盜鍊機制,建議将圖檔儲存下來直接上傳(img-p86Oh95x-1611910236929)(https://lao-jiu-jun.gitee.io/xuetang9-markdown-graph-bed/Java實訓/HTML5&CSS3/01-HTML5标簽/塊級元素與行級元素.png )]
說明:
後兩個國内的工具網站,可能得到的不是最新或者有些時候會有一些瑕疵
W3C官方HTML教程
https://www.w3.org/community/webed/wiki/HTML/Training
标簽清單
https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element
菜鳥教程
https://www.runoob.com/html/html-tutorial.html
w3school
https://www.w3school.com.cn/index.html
3.2 網頁标準文檔流布局(重要)
在沒有任何樣式的修飾下,所有的元素,将從上至下,從左至右進行排列。
四、塊級元素(标簽)
4.1 标題
h1 ~ h6
示例
<h1>一級标題</h1>
<h2>二級标題</h2>
<h3>三級标題</h3>
<h4>四級标題</h4>
<h5>五級标題</h5>
<h6>六級标題</h6>
4.2 段落
<p></p>
示例
<body>
<p>東海深處,有一仙島,名曰蓬萊。在東漢末年張角,率領黃巾教衆向漢室皇權三百餘年的統治,發起了有史以來最強力的挑戰。在這場戰争中,張角最大的倚仗并非麾下數十萬教衆,而是蓬萊島的至寶《南華經》。黃巾軍點燃的戰火,很快燒遍了神州大陸。裝備精良的禦林軍,本以為能夠輕松收拾這群手持木棒和農具的亂黨,但卻被張角通天徹地的法術幾度迎頭痛擊。</p>
<p>黃巾軍攻勢迅猛。短短數月間,從山東到河北一帶,已被黃巾軍悉數占領。隻不過,縱然是手握《南華經》、命犯“天煞星”的張角,在曹操、劉備等亂世枭雄的圍攻下,最終還是難逃兵敗冀北的宿命。張角死後,收集四散的《南華經》殘頁,成了所有蓬萊弟子的至高使命。南華弟子以英雄骨血為憑,藉其生辰八字與命星的映照,幻化成一名擁有其全部戰鬥能力的化身英雄。就這樣,一場場戰鬥便在《英雄三國》中發生了。</p>
《英雄三國》中把英雄人物分為四種,分别是法術型英雄、實體型英雄、防禦型英雄和輔助型英雄。同時每一個英雄還有自己的天命武器(類似被動技能),在遊戲中隻要金币足夠可以用金币直接強化而不用回基地商店。不同的英雄強化效果不同。
遊戲中英雄可用的技能分為:單體指向性技能、區域指向性技能、即時使用技能、區域機關技能、被動技能。
</body>
4.3 分割線/水準線
<hr/>
水準線是一個單标簽
示例
<h1>金克斯</h1>
<hr/>
<p>神經狂躁、沖動任性、劣迹斑斑……</p>
<p>金克絲出身自祖安,生來就愛不計後果地大搞破壞。</p>
<p>她就是一座人形自走軍火庫,所經之處必定會留下奪目的火光和震耳的爆炸。</p>
4.4 清單
4.4.1無序清單
ul - li
可以使用Emmet表達式快速編寫html代碼
Emmet官網:https://emmet.io/
idea可以直接在Plugins中安裝Emmet
<h3>都市熱新聞</h3>
<ul>
<li>推薦| 倘若愛情有悖論 千年骨語 我的未婚夫白狐大人</li>
<li>熱文| 都市無敵醫聖 最廢女婿 愛不逢時,情無金堅</li>
<li>優選| 總想渣自己怎麼辦 醫流戰神走巅峰 劍破蒼穹</li>
<li>新書| 影帝的绯聞女友 都市王牌豪婿 末日拯救計劃</li>
</ul>
4.4.2 有序清單(用得較少)
ol - li
示例
<h3>都市熱新聞</h3>
<ol>
<li>推薦| 倘若愛情有悖論 千年骨語 我的未婚夫白狐大人</li>
<li>熱文| 都市無敵醫聖 最廢女婿 愛不逢時,情無金堅</li>
<li>優選| 總想渣自己怎麼辦 醫流戰神走巅峰 劍破蒼穹</li>
<li>新書| 影帝的绯聞女友 都市王牌豪婿 末日拯救計劃</li>
</ol>
用途
- 用于顯示新聞清單
- 用于制作頁面菜單
- 用于放置邏輯上歸為一組的内容
4.4.3 定義清單
dl-dt-dd
注意:dl下隻能放置dt、dt下隻能放置dd、dd下最好隻放置行級元素
示例
<dl>
<dt>水果</dt>
<dd>蘋果</dd>
<dd>桃子</dd>
<dd>李子</dd>
<dt>蔬菜</dt>
<dd>白菜</dd>
<dd>黃瓜</dd>
<dd>蕃茄</dd>
</dl>
用途
- 解釋詞語的意思
- 圖文混編的内容展示 - 商品介紹 - 圖檔-以及解釋圖檔的文字
4.5 塊級分區
<div></div>
- 用途:通常當作結構化塊狀元素使用,作為邏輯分區(分塊)即容器來使用 。
- 注意:一般需要配合CSS使用。
示例
<div>
<h3>都市熱新聞</h3>
<ul>
<li>推薦| 倘若愛情有悖論 千年骨語 我的未婚夫白狐大人</li>
<li>熱文| 都市無敵醫聖 最廢女婿 愛不逢時,情無金堅</li>
<li>優選| 總想渣自己怎麼辦 醫流戰神走巅峰 劍破蒼穹</li>
<li>新書| 影帝的绯聞女友 都市王牌豪婿 末日拯救計劃</li>
</ul>
</div>
<div>
<h3>都市熱新聞</h3>
<ol>
<li>推薦| 倘若愛情有悖論 千年骨語 我的未婚夫白狐大人</li>
<li>熱文| 都市無敵醫聖 最廢女婿 愛不逢時,情無金堅</li>
<li>優選| 總想渣自己怎麼辦 醫流戰神走巅峰 劍破蒼穹</li>
<li>新書| 影帝的绯聞女友 都市王牌豪婿 末日拯救計劃</li>
</ol>
</div>
五、行級元素(内聯元素)
5.1 字型樣式元素
5.1.1 加粗
strong與b
5.1.2 強調/傾斜
em與i
i标簽現在基本上已經被用于配合CSS,繪制小圖示
5.1.3 下劃線
u
示例
<strong>魯迅</strong>
<hr/>
<p>光緒七年<em>1881</em>年,生于<u>浙江紹興城</u>内東昌坊新台門周家。</p>
<p>光緒十八年<em>1881</em>年,入<u>三味書屋</u>從壽鏡吾讀書,課餘影描圖畫。</p>
<p>光緒十九年<em>1881</em>年,祖父周介孚因事下獄,家産中落,全家避難于鄉下。</p>
<p>光緒二十二年<em>1881</em>年,父親去世。家境益艱。于本年開始寫日記。</p>
<p>光緒二十三年<em>1881</em>年,家族開會分房,分給魯迅他們的既差且小。</p>
5.2 換行
<br/>
其作用是,強制換行,與p的差別在于其上下行文沒有間隔
5.3 圖像
<img/>
說明
- src: 填寫圖檔檔案的路徑
- alt:填寫當圖檔不存在時顯示的提示文字
- title:填寫當滑鼠懸停到圖檔時顯示的提示文字
- width:設定圖檔顯示的寬度(一般不使用該資料,以後都使用CSS來控制)
- height:設定圖檔顯示的高度(一般不使用該資料,以後都使用CSS來控制)
5.4 超連結
<a></a>
<a href="./detail.html" target="_blank">
<img src="./img/book.jpg" alt="心潮澎湃,無限幻想,迎風揮擊千層浪,少年不敗熱血!" width="260" height="336"/>
</a>
<p>
<a href="./detail.html" target="_self">心潮澎湃,無限幻想,迎風揮擊千層浪,少年不敗熱血!</a>
</p>
<p>¥48.00</p>
說明
- 其内部可以放置塊級元素也可以放置行級元素
- 标簽的屬性
- href:跳轉的頁面位址**(既可以是相對連結,也可以是外網位址)**
- target:新頁面打開的方式
- _self:在目前頁籤打開,預設值
- _blank:在新選卡打開頁面
- title:滑鼠懸停時的提示文字
5.5 行級分區
<span></span>
作用
在行的範圍内産生一個分區
- 注意事項:一般需要和CSS樣式一起使用
5.6 注釋
<!--注釋内容-->
說明
被注釋的内容不會顯示
我們在書寫HTML的時候,一定要習慣使用注釋來表示一些關鍵結構所代表的意思
六、表單
6.1 什麼是表單
表單是一個用來組裝使用者填寫資訊的容器,同時提供發送資料到指定的伺服器的功能
典型的應用案例:搜尋引擎、線上翻譯工具、各種網站的登入與注冊
6.2 文法
<form></form>
示例:
<form action="" method="post" enctype="application/x-www-form-urlencoded">
<p>
<span>名字:</span>
<input name="name" type="text"/>
</p>
<p>
<span>密碼:</span>
<input name="pwd" type="password"/>
</p>
<p>
<input type="submit" name="sub" value="送出"/>
<input type="reset" name="res" value="重填"/>
</p>
</form>
說明:
- action:用于填寫送出的處理資料的伺服器位址
- method:送出資料的方式
- get:送出的資料會拼接到位址欄 ? 的後面
- post:送出的資料會放在請求體中 格式為 FormData
- enctype:用于指定表單在送出時,Content-Type的HTTP資料頭的值
- application/x-www-form-urlencoded:預設值,表示這是已編碼為URL參數的表單資料
- multipart/form-data :資料将被分成多個部分,每個檔案獨占一個部分
[外鍊圖檔轉存失敗,源站可能有防盜鍊機制,建議将圖檔儲存下來直接上傳(img-T9m86nBz-1611910236936)(https://lao-jiu-jun.gitee.io/xuetang9-markdown-graph-bed/Java實訓/HTML5&CSS3/01-HTML5标簽/FormData結構.png )]
6.3 表單輸入元素
6.3.1 文法
<input name="" type="" placeholder="" value="" size="" maxlength="" checked=""/>
說明(以下屬性,根據type的不同,所擁有的屬性也不同)
- name:用于表單送出資料到伺服器後識别的名字
- type:用于設定輸入元素的類型,确定不同的功能和顯示外觀
- placeholder:用于設定輸入元素的提示文字
- value: 用于設定元素的值
- size:用于設定輸入元素的寬度,預設指占幾個字的寬度(一般不用,後續使用CSS來控制)
- maxlength:用于設定輸入元素能接收使用者輸入最大字元個數
- checked:用于設定輸入元素是否被選中
6.3.2 文本框元素
6.3.3 密碼框元素
6.3.4 按鈕元素
<!-- 普通按鈕 - 一般會和JS腳本一起使用 -->
<input type="button" value="普通按鈕"/>
<!-- 必須放在表單form中才會起作用 -->
<!-- 表單送出按鈕 -->
<input type="submit" value="送出表單資料"/>
<!-- 表單重置按鈕 -->
<input type="reset" value="恢複表單輸入元素初始預設資料"/>
6.3.5 單選按鈕
<input name="sex" type="radio" value="男" checked="checked"/>男
<input name="sex" type="radio" value="女"/>女
說明:
- 單選按鈕的value是作為互動用的,并不會顯示,是以需要單獨書寫文本,作為顯示
- 單選按鈕的互斥效果:name屬性一樣會分到同一組中,同組的按鈕自動實作互斥
- checked="checked"可以直接省略為checked
6.3.6 複選框
<h3>為什麼要解除安裝軟體?</h3>
<ul>
<li><input name="rea" type="checkbox" value="1" checked >不好用</li>
<li><input name="rea" type="checkbox" value="2">占記憶體</li>
<li><input name="rea" type="checkbox" value="3">要錢</li>
<li><input name="rea" type="checkbox" value="4">經常當機</li>
</ul>
說明:
- 複選框的name屬性一樣會被分到同一組,友善後端的伺服器取出每一組資料
6.3.7 檔案域
<form method="post" enctype="multipart/form-data">
<input name="head" type="file" accept="image/png, image/jpeg" multiple />
<input type="submit" value="上傳"/>
</form>
注意
- 表單送出的方式必須是***POST***方式
- 表單資料的編碼格式必須是 enctype="multipart/form-data"
- accept用于限制檔案上傳的類型,如果确實該屬性,表示允許任何檔案上傳,詳細說明:https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/Input/file#Unique_file_type_specifiers
- multiple用于控制是否開啟多選
6.3.8 下拉框(清單框)元素
<form method="post" action="">
出生日期:
<input type="text" name="byear" placeholder="yyyy" maxlength="4"/>年
<select name="bmon" size="5">
<option value="">[選擇月份]</option>
<option value="1" selected>一月</option>
<option value="2">二月</option>
<option value="3">三月</option>
<option value="4">四月</option>
<option value="5">五月</option>
<option value="6">六月</option>
<option value="7">七月</option>
<option value="8">八月</option>
<option value="9">九月</option>
<option value="10">十月</option>
<option value="11">十一月</option>
<option value="12">十二月</option>
</select>月
<input type="text" name="bday" placeholder="dd" maxlength="2"/>日
</form>
- size屬性:表示清單框需要顯示幾個清單項的内容在頁面(該屬性一般不會使用)
- 根據HTML5規範,大小的預設值應為
; 但是,在實踐中,發現它破壞了某些網站,并且目前沒有其他浏覽器這樣做,是以Mozilla選擇 暫時繼續使用Firefox傳回。1
- 根據HTML5規範,大小的預設值應為
- option元素的selected屬性:表示目前選中的項
6.3.9 文本域(多行文本框)元素
- cols屬性:表示文本域寬度占幾個字的大小(本質是多少列)
- rows屬性:表示文本域高度占幾行的大小(本質是多少行)
- 注意:高度超過了rows的大小會顯示垂直的滾動條
6.3.10 表單元素的通用屬性
- readonly:表示表單輸入元素不允許修改内容,隻讀
- disabled:表示表單輸入元素不允許使用,禁用
6.3.11 語義化表單元素
- label元素:表單輸入元素的提示文本,提供點選文本元素獲得焦點或者選中
<form>
請選擇性别:
<label for="male">男</label>
<input type="radio" name="gender" id="male"/>
<label for="female">女</label>
<input type="radio" name="gender" id="female"/>
</form>
這裡需要注意:id的值要與for對應(不過我們也可以,把表單元素直接放到label裡面)
- fieldset元素:對多個表單輸入元素進行分組
- legend元素:對表單分組後顯示提示性文字
<form>
<fieldset>
<legend>個人資訊:</legend>
<label for="name">姓名:</label><input type="text" id="name"><br>
<label for="mail">郵箱:</label><input type="text" id="mail"><br>
<label for="birthday">生日:</label><input type="text" id="birthday">
</fieldset>
</form>
七、表格
7.1 文法
7.1.1 普通表格
表格:
<table></table>
行:
<tr></tr>
table row
标題列:
<th></th>
table header , 加粗并居中
普通列:
<td></td>
table data 表格的每個資料占一個格子
7.1.2 語義化表格
表格的标題:
<capation></capation>
表格的表頭:
<thead></thead>
表格的主體資料:
<tbody></tbody>
表格的表尾:
<tfoot></tfoot>
7.2 特征
同一行的高度是一樣的
同一列的寬度是一樣的
td标簽可以設定的屬性
colspan:一個格子占幾列
rowspan:一個格子占幾行
width:寬度(一般不用,後續用CSS來控制)
height:高度(一般不用,後續用CSS來控制)
align:水準對齊方式 left、center、right(一般不用,後續用CSS來控制)
注意: 在使用表格布局内容的時候一定要把邊框顯示出來
7.3 示例
<table border="1">
<!--表格的标題-->
<caption>員工資訊表</caption>
<!--表格的表頭-->
<thead>
<tr>
<th colspan="2" rowspan="2">項目</th>
<th colspan="2">本周發生</th>
</tr>
<tr>
<th>收入</th>
<th>支出</th>
</tr>
</thead>
<!-- 表格的主體 填寫資料 -->
<tbody>
<tr>
<td rowspan="3">收入</td>
<td>貸款收回</td>
<td>1254545454</td>
<td>5456456456.3</td>
</tr>
<tr>
<td>内部轉款</td>
<td>3432432.23432</td>
<td>34432111.2212</td>
</tr>
<tr>
<td>内部轉款</td>
<td>3432432.23432</td>
<td>34432111.2212</td>
</tr>
<tr>
<td rowspan="5">支出</td>
<td>采購支出</td>
<td>1254545454</td>
<td>5456456456.3</td>
</tr>
<tr>
<td>基建支出</td>
<td>3432432.23432</td>
<td>34432111.2212</td>
</tr>
<tr>
<td>工資支出</td>
<td>3432432.23432</td>
<td>34432111.2212</td>
</tr>
<tr>
<td>其他支出</td>
<td>3432432.23432</td>
<td>34432111.2212</td>
</tr>
<tr>
<td>支出合計</td>
<td>3432432.23432</td>
<td>34432111.2212</td>
</tr>
</tbody>
<!-- 表格尾部,用得很少 -->
<tfoot>
</tfoot>
</table>
HTML5的新特新
一、頁面語義化标簽(記憶)
- 為什麼要用語義化标簽:語義化标簽能夠更好的表示某個區域的含義,我們能夠更加清晰的看出整個HTML的結構
- header:表示頁面的頭部内容
- section:表示頁面的主體内容
- article:獨立的文章内容
- aside:表頁面的側邊欄,通常用于菜單
- footer:表示頁面的底部,通常用于版權和友情連結,及底部的幫助
- nav:用來表示導航,通常用于橫向菜單
二、常見的布局(了解)
2.1 上中下布局
京東、淘寶就是典型的上中下布局
示例
[外鍊圖檔轉存失敗,源站可能有防盜鍊機制,建議将圖檔儲存下來直接上傳(img-qIzZ15wN-1611910236940)(https://lao-jiu-jun.gitee.io/xuetang9-markdown-graph-bed/Java實訓/HTML5&CSS3/01-HTML5标簽/上中下布局.png )]
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>上中下布局</title>
<style type="text/css">
body {
margin: 0;
}
header, footer {
height: 60px;
line-height: 60px;
text-align: center;
}
header {
background-color: #0060ba;
top: 0;
}
a {
text-decoration: none;
}
header nav a {
color: #fff;
}
section {
background-color: lightgreen;
height: calc(100vh - 120px);
color: #1f991f;
font-size: 48px;
display: flex;
align-items: center;
justify-content: center;
}
footer {
background-color: #fff;
}
</style>
</head>
<body>
<header>
<nav>
<a href="#">頂部菜單1</a>
<a href="#">頂部菜單2</a>
<a href="#">頂部菜單3</a>
<a href="#">頂部菜單4</a>
</nav>
</header>
<section>
<span>中間内容</span>
</section>
<footer>
<nav>
<a href="#">底部菜單1</a>
<a href="#">底部菜單2</a>
<a href="#">底部菜單3</a>
<a href="#">底部菜單4</a>
</nav>
</footer>
</body>
</html>
2.2 上中下+左右
各種背景管理系統經常會用到這種布局
示例
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>上中下布局</title>
<style type="text/css">
body {
margin: 0;
}
header, footer {
height: 60px;
line-height: 60px;
text-align: center;
}
header {
background-color: #0060ba;
top: 0;
}
a {
text-decoration: none;
}
header nav a {
color: #fff;
}
section::after {
content: '';
display: block;
}
section aside ul {
margin: 0;
padding: 0;
color: #fff;
}
section aside, section div {
height: calc(100vh - 120px);
float: left;
}
section aside {
width: 10%;
background-color: cornflowerblue;
}
section div {
width: 90%;
background-color: lightgreen;
color: #1f991f;
font-size: 48px;
display: flex;
align-items: center;
justify-content: center;
}
footer {
background-color: #fff;
}
</style>
</head>
<body>
<header>
<nav>
<a href="#">頂部菜單1</a>
<a href="#">頂部菜單2</a>
<a href="#">頂部菜單3</a>
<a href="#">頂部菜單4</a>
</nav>
</header>
<section>
<!--左側菜單-->
<aside>
<ul>
<li>左部清單一</li>
<li>左部清單二</li>
<li>左部清單三</li>
<li>左部清單四</li>
</ul>
</aside>
<div>右側内容</div>
</section>
<footer>
<nav>
<a href="#">底部菜單1</a>
<a href="#">底部菜單2</a>
<a href="#">底部菜單3</a>
<a href="#">底部菜單4</a>
</nav>
</footer>
</body>
</html>
三、多媒體元素(了解)
3.1 音頻元素
常用的格式:OGG,MP3,WAV
<audio controls>
<source src="./sound/bgm.mp3">
<source src="./sound/bgm.ogg">
對不起浏覽器不支援,請更新浏覽器
</audio>
3.2 視訊元素
常用格式:OGG,MPEG4,MP4,WEBM,WAV
<video autoplay loop muted controls>
<source src="./video/intro.mp4">
不支援視訊播放,請更新浏覽器
</video>
3.3 常用屬性
- controls:設定視訊和音頻元素的控制界面
- autoplay:設定視訊和音頻自動播放 - 預設自動播放會失效
- loop:設定循環播放
- muted:設定靜音,當視訊靜音後可以實作自動播放
四、圖像動畫元素(了解)
4.1 畫布
<canvas></canvas>
需要使用Canvas 腳本 API 或者WebGL API在畫布上進行繪制
簡單的示例:
<body>
<canvas id="myCanvas" width="200" height="100"
style="border:1px solid #000000;">
</canvas>
</body>
<script type="text/javascript">
let c = document.getElementById("myCanvas");
let ctx = c.getContext("2d");
ctx.fillStyle = "#FF0000";
ctx.fillRect(0, 0, 150, 75);
</script>
4.2 矢量圖
4.2.1 介紹
- 英文全稱為Scalable Vector Graphics,意思為可縮放的矢量圖形
- SVG 使用 XML 格式定義圖像
- SVG 是網際網路聯盟的标準
- 相關API文檔:https://developer.mozilla.org/zh-CN/docs/Glossary/SVG
4.2.2 直接使用img标簽導入圖像
矢量圖示擷取位址:https://www.iconfont.cn/home/index
4.2.3 直接使用svg标簽在頁面中繪制
矢量圖常用屬性
- width:圖形的寬度
- height:圖形的高度
- x:圖形的水準坐标
- y:圖形的垂直坐标
- fill:圖形填充的顔色
- fill-opacity:圖形填充顔色的透明度
- stroke:圖形邊框繪制顔色
- stroke-width:圖形邊框繪制的寬度
- stroke-opacity:圖形邊框繪制的顔色的透明度
<svg width="300" height="300">
<rect
x="20"
y="50"
width="200"
height="200"
fill="#FF0000"
fill-opacity=".5"
stroke="#0000FF"
stroke-width="10"
stroke-opacity=".7"
/>
</svg>
4.2.3 svg元素圖形混合使用
<svg width="300" height="300">
<rect width="300" height="300" fill="red"/>
<circle cx="150" cy="150" r="150" fill="blue" fill-opacity=".5"/>
</svg>
4.2.4 svg繪制地圖統計
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>用來示範使用矢量圖繪制地圖</title>
<style>
path:hover{
fill: yellow;
}
</style>
</head>
<body>
<svg width="600" height="600">
<!-- 黑龍江 -->
<path fill="red" fill-opacity="1" stroke="white" d="M464.838,96.639l6.787-1.19l2.854,5.241l4.285,3.095l2.856-1.188h2.386l4.285-2.501l3.094,3.094l2.024,0.357l5.357-2.023l3.813,2.023l1.666,4.288h2.857l1.43,1.904l3.689,4.049l1.426-0.833l-0.594-5.12l2.026-1.432l2.854,5.716l2.621,1.074l2.858,3.212l2.021-0.357l0.836-1.427l4.523-5.12l2.022,1.428l1.43-2.022l1.431,2.619l4.283,1.429h2.86l2.07,0.088l-1.238-2.113l-0.598-6.906l-5.115-7.978l2.855-2.857l2.616-4.883h9.646l1.785-1.665l-0.597-3.69l2.025-3.691l-0.596-2.024l0.832-3.451l-0.236-17.742l2.855-5.715l-3.214-3.692l0.595-2.261l-1.427-2.024l-3.69,1.429l-4.289,4.884l-4.283,2.023l-4.289,5.951l-10.598,3.692l-4.879-3.692l0.594-2.262l-2.5-3.689l-1.191-3.811l-4.047-0.239l-7.145-3.69l-2.859,1.071l-3.33-1.667l-4.887,0.834l-4.283-1.429l-2.621-3.69l-2.498-2.857l-0.951-2.857l-3.334-3.452l-2.026-3.099l-4.644-6.31l-1.428-3.69l-5.119-6.548l-1.432-3.454l-6.549-3.216l-4.287,1.429l-3.689-0.833l-8.336-1.668l-11.07,3.932l-2.024,1.786l2.262,3.096l-2.856,7.499l0.834,0.835l4.881,3.096l2.621-4.286l4.524,2.856l-0.235,2.022l1.664,5.119l2.854,3.218l5.717,0.833l1.668-1.787l3.451-0.477l6.547-5.476l8.576,6.31l-2.858,11.669l0.594,8.333v5.119l-2.26,1.191l-0.238,13.335l-0.597-0.476l-2.26-2.858h-1.192l-0.595,1.073c0,0-8.797,13.044-7.146,10.596c1.652-2.448-3.451,4.523-3.451,4.523l0.357,1.428l7.145,4.886l3.926-1.071l0.599,1.071l-0.834,1.189l-3.689,1.667l-0.359,3.214L464.838,96.639z"/>
<text x="480" y="80">黑龍江</text>
<path fill="red" stroke="white" d="M544.896,113.042l-2.07-0.088h-2.858l-4.285-1.431l-1.43-2.619l-1.431,2.024l-2.022-1.428l-4.523,5.12l-0.834,1.427l-2.022,0.357l-2.859-3.214l-2.621-1.072l-2.854-5.715l-2.027,1.431l0.594,5.12l-1.426,0.833l-3.689-4.05l-1.432-1.903h-2.854l-1.666-4.288l-3.813-2.023l-5.354,2.023l-2.025-0.357l-3.098-3.094l-4.285,2.5h-2.383l-2.857,1.191l-4.285-3.096l-2.854-5.24l-6.787,1.189l-2.621,3.099l-0.238,3.45l-7.502-2.023l-1.074,2.381l0.601,1.667l3.928,2.859v4.046l0.594,3.929l2.265,3.456l0.356,3.095l1.666,1.191l5.717-5.479l5.953,7.502v4.288l3.213,1.667l0.238-1.431l4.885,1.431l3.451,4.046l1.666-1.784l0.357-1.074l8.217,11.075l0.594,4.286l4.527,5.239l0.592,4.761l4.051-2.499l3.689-10.598l1.67-0.595l4.047,2.263l6.549-0.834l2.26-2.024l-3.092-4.763l0.832-1.191c0,0,7.84-2.611,6.072-2.022c-1.766,0.588,2.5-4.883,2.5-4.883l3.215-1.428l0.238-4.766l0.832-3.212l1.785-0.596l1.668,1.789l1.668,1.426l4.287-5.715l1.188-4.288L544.896,113.042z"/>
<path fill="red" stroke="white" d="M491.15,173.2l6.783-10.002l4.287-4.881l-0.595-4.763l-4.524-5.239l-0.594-4.286l-8.216-11.075l-0.358,1.074l-1.666,1.786l-3.453-4.05l-4.883-1.429l-0.236,1.429v2.264l-2.022,2.022l-4.047,4.05H467.1l-1.666,2.856h-1.789l-3.094,3.096h-1.787l-3.691,3.691l-2.262,0.596l-4.881,7.5l-3.096-4.644l-3.453-2.262l-1.666,1.667l1.903,10.002l-1.666,3.453l-1.668,5.12l4.763,3.215l2.621,0.238l3.45,4.881l2.5-1.429c0,0,2.857-2.881,4.05-4.882c1.192-2.002,4.049-6.788,4.049-6.788l6.787-1.429l4.287,4.286l-3.099,6.787l-4.049,6.311l3.688,2.62l-0.233,3.098l-2.857,2.855l0.597,1.19l4.881-2.619l7.143-9.407l10.836-6.072L491.15,173.2z"/>
</svg>
</body>
</html>
4.2.5 矢量圖常用的形狀
形狀元素 | 描述 | 示例 |
---|---|---|
rect | 矩形 | |
circle | 圓形 | |
ellipse | 橢圓 | |
line | 線條 | |
polygon | 多邊形 | |
path | 路徑 |
五、資料清單 (了解)
用來給文本框提供可用值搜尋和選擇,一定要和文本框配置使用
<p>
<span>選擇省份:</span>
<input type="text" list="identity"/>
</p>
<datalist id="identity">
<option>北京市</option>
<option>天津市</option>
<option>上海市</option>
<option>重慶市</option>
<option>河北省</option>
<option>山西省</option>
<option>廣東省</option>
<option>四川省</option>
<option>台灣省</option>
</datalist>
6-6.072L491.15,173.2z"/>
```
4.2.5 矢量圖常用的形狀
形狀元素 | 描述 | 示例 |
---|---|---|
rect | 矩形 | |
circle | 圓形 | |
ellipse | 橢圓 | |
line | 線條 | |
polygon | 多邊形 | |
path | 路徑 |
五、資料清單 (了解)
用來給文本框提供可用值搜尋和選擇,一定要和文本框配置使用
<p>
<span>選擇省份:</span>
<input type="text" list="identity"/>
</p>
<datalist id="identity">
<option>北京市</option>
<option>天津市</option>
<option>上海市</option>
<option>重慶市</option>
<option>河北省</option>
<option>山西省</option>
<option>廣東省</option>
<option>四川省</option>
<option>台灣省</option>
</datalist>