鏈接
HTML 介紹
HTML:HyperText Markup Language,超文本標記語言,是一種用于創建網頁的標準標記語言。
HTML 運行在瀏覽器上,由瀏覽器來解析。
對于中文網頁需要使用 <meta charset="utf-8">
聲明編碼,否則會出現亂碼。有些瀏覽器(如 360 瀏覽器)會設置 GBK
為默認編碼,則你需要設置為 <meta charset="gbk">
。
HTML 文件的后綴有兩種:html
和 htm
,兩種后綴名沒有區別,都可以使用。
寫代碼的位置:VSCode
看效果的位置:谷歌瀏覽器
VSCode 安裝插件 open in browser
:
接下來要保證每次用 open in browser
打開的是谷歌瀏覽器。只需要將谷歌瀏覽器設置為默認的瀏覽器即可。
首先進入控制面板,找到默認程序:
VSCode:Ctrl + b 折疊側邊欄。
效果:
修改代碼,加上標簽:
點擊刷新按鈕,刷新網頁,查看效果:
需要包裹內容時,使用雙標簽,不需要則使用單標簽。
HTML 中絕大多數都是雙標簽,只有極個別是單標簽。
HTML 基本骨架
HTML 基本骨架就是網頁模板,所有網頁都要基于這個模板來編寫代碼。這個模板由幾個固定的標簽組成,用這幾個標簽來表示 HTML 的不同位置。寫代碼時可以根據位置的不同來對號入座。
最外層是一對 HTML 標簽,HTML 標簽表示整個網頁。
用快捷鍵生成模板的效果:
在瀏覽器中打開時是一個空白的白板,沒有任何內容:
如果想要展示一些文字,需要將文字寫在 body 標簽內部。
例如:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body>想要展示的文字。
</body>
</html>
效果:
注意這里代碼里的網頁標題是 Document,瀏覽器網頁的標題同樣也是 Document,是保持對應的。
<!DOCTYPE html>
聲明為 HTML5 文檔<html>
元素是 HTML 頁面的根元素<head>
元素包含了文檔的元(meta)數據,如<meta charset="utf-8">
定義網頁編碼格式為utf-8
<title>
元素描述了文檔的標題<body>
元素包含了可見的頁面內容<h1>
元素定義一個大標題<p>
元素定義一個段落
在瀏覽器的頁面上使用鍵盤上的 F12
按鍵開啟調試模式,或者選擇 元素
選項卡,就可以看到組成標簽。
HTML 是用來描述網頁的一種語言。
-
HTML 指的是超文本標記語言:HyperText Markup Language
-
HTML 不是一種編程語言,而是一種標記語言
-
標記語言是一套標記標簽(markup tag)
-
HTML 使用標記標簽來描述網頁
-
HTML 文檔包含了HTML 標簽及文本內容
-
HTML文檔也叫做 web 頁面
標簽的關系
標簽之間有兩種關系:
- 父子(嵌套)
- 兄弟(并列)
<html><head></head><body></body>
</html>
注釋
程序示例:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body>這是文字,能看見嗎?<br><!-- 這是注釋,瀏覽器不顯示。 --><!-- 可以給代碼加注釋 --><strong>111. 這是加粗的內容。</strong><!-- <strong>222. 這是加粗的內容。</strong> -->
</body>
</html>
效果:
標題標簽
程序示例:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><h1>一級標題</h1><h2>二級標題</h2><h3>三級標題</h3><h4>四級標題</h4><h5>五級標題</h5><h6>六級標題</h6>
</body>
</html>
效果:
段落標簽
程序示例:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><p>有些親貴卻不在乎前車之鑒,多爾袞一垮臺,便紛紛來永平府設立王莊、田莊。這兩年山川秀美的所在,不時出現樓閣亭臺點綴的花園、歇山頂的高大堂屋、卷棚式的青磚住房,一派華美富麗,鄉下人都看得目瞪口呆了。</p><p>虹橋鎮的東岳廟前和通向四鄉的大路口,早已布棚林立,攤販如云了。火勢旺盛的爐邊,熱氣騰騰,銅勺敲著鍋邊當當響,賣的是油炸果子、油豆腐、豆漿、豆腐腦、雜碎湯;提籃挎筐的小販聲聲吆喝,叫賣著醬雞、鹵蛋、夾肉火燒、點紅饅頭;茶棚、酒棚隨處可見;落花生、炒栗子、金黃柿子、山里紅,更擺得一堆一堆的。小地攤最多,在兜售用麥草、箔紙編制的各種玩具:身上寫著“富貴有余”字樣的紅魚,手捧大元寶笑嘻嘻的“招財童子”,盛滿銀錠、金光閃閃的“聚寶盆”,象征福氣的紅絨蝙蝠,等等。攤販的主顧主要倒不是賽神隊伍,而是這些來自方圓百里內的游人看客。這里既有身著直領衫、交領衫、氈帽布鞋,被滿洲人稱為“蠻子”的漢人,又有長袍短褂、皮帽皮靴,被漢人叫做“韃子”的滿洲人、蒙古人;既有纏腰帶、背褡褳、一臉風霜的莊戶人,又有長衫翩翩、滿面書卷氣的文人。不管是哪種人,都將在這紛紛攘攘的廟會上吃飽喝足看夠,然后買點小玩藝兒帶回家:買個“聚寶盆”,叫做“求財如意”;買只絨蝙蝠,叫做“戴福還家”。只這吉兆,就夠叫人舒心快意的了。這就難怪太陽才上一竿,鎮上已經萬頭攢動,一片嘈雜了。</p>
</body>
</html>
效果:
換行與水平線標簽
程序示例:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body>第一行內容。還是第一行內容。<br>第二行內容。<br>第三行內容。<!-- 可以添加多個換行,從而產生空行 --><br><br><br>新的一行。<hr>
</body>
</html>
效果:
文本格式化標簽
程序示例:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><strong>strong 加粗</strong><br><b>b 加粗</b><br><em>em 傾斜</em><br><i>i 傾斜</i><br><ins>ins 下劃線</ins><br><u>u 下劃線</u><br><del>del 刪除線</del><br><s>s 刪除線</s><br>嵌套寫法:<br><strong><em>加粗斜體</em></strong>
</body>
</html>
效果:
圖像標簽
程序示例:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><img src="./1.jpg"><img src="./2.jpg">
</body>
</html>
兩張圖片不會換行,除非一張圖片太大了,導致放不下,下一張圖片會看起來放在了下一行,其實還是在同一行。或者下一張圖片比較大,在上一張圖片后面放不下,就會單獨放到一行中。
在實際工作當中,設置圖片的高度和寬度,都是通過 CSS 來設置的,對 HTML 的高度和寬度兩個屬性,只需要了解即可。
程序示例:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><!-- 網速較慢時,圖片加載不出來,有了替換文本,不用猜也能知道圖片是什么內容。 --><img src="./11.jpg" alt="周依然"><img src="./2.jpg" title="還是周依然">
</body>
</html>
效果:
程序示例:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><!-- 單獨指定圖片的高度或者寬度時,圖片會按比例放大或縮小,同時指定圖片的高和寬時,圖片尺寸將會變為指定的值 --><img src="./1.jpg" alt="" width="600"><img src="./1.jpg" alt="" width="900" height="200">
</body>
</html>
效果:
路徑
程序示例:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><img src="E:\雜\2.jpg" alt=""><img src="E:/雜/2.jpg" alt="">
</body>
</html>
不希望下載圖片,而是使用網絡圖片:
程序示例:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><!-- https://www.itheima.com/images/logo.png --><img src="https://www.itheima.com/images/logo.png">
</body>
</html>
超鏈接
超鏈接標簽是雙標簽 a,中間包裹內容。
程序示例:
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><a href="https://www.baidu.com/">跳轉到百度</a> <!-- 好使 --><br><a href="www.baidu.com/">跳轉到百度</a> <!-- 不好使 --><br><!-- 可以跳轉本地文件 --><a href="./01-標簽的寫法.html">跳轉到01-標簽的寫法</a>
</body></html>
對于超鏈接,按住 Ctrl 鍵就能在新窗口中打開。
或者再加一個屬性,也能實現新窗口打開:
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><a href="https://www.baidu.com/" target="_blank">跳轉到百度</a> <!-- 好使 --><br><a href="www.baidu.com/">跳轉到百度</a> <!-- 不好使 --><br><!-- 可以跳轉本地文件 --><a href="./01-標簽的寫法.html">跳轉到01-標簽的寫法</a>
</body></html>
開發初期,不確定跳轉地址,則 href 屬性值寫為 #,表示空鏈接,頁面不會跳轉,在當前頁面刷新一次。
程序示例:
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><a href="#">空鏈接</a>
</body></html>
音頻標簽
音頻標簽在網頁中插入聲音。
音頻標簽是 audio 雙標簽,src 屬性是必須要有的屬性。
程序示例:
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><audio src="./media/music.mp3"></audio>
</body></html>
此時打開瀏覽器是沒有聲音的,因為瀏覽器把自動播放的功能都是禁用的。而且也看不出來有沒有添加成功,因為沒有任何提示信息,打開瀏覽器就是一個空白的白板。如圖:
可以使用 controls 屬性顯示音頻控制面板,面板能看到就說明聲音插入成功了。
程序示例:
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><audio src="./media/music.mp3" controls></audio>
</body></html>
效果:
controls
屬性的完整寫法為 controls = "controls"
,但是在書寫 HTML5
屬性時,如果屬性名和屬性值相同,可以簡寫為一個單詞。因此 controls = "controls"
可以簡寫為 controls
。
添加 loop 屬性可以讓音頻自動循環播放,一次播放完了后自動開始從頭播放。
添加 autoplay 屬性將不會起任何作用,因為瀏覽器是禁用自動播放的。
程序示例:
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><audio src="./media/music.mp3" controls loop autoplay></audio>
</body></html>
視頻標簽
視頻標簽在網頁中插入一個視頻。
程序示例:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><video src="./media/vue.mp4"></video>
</body>
</html>
效果:
看不出來是不是一個視頻,下面添加控制面板:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><video src="./media/vue.mp4" controls></video>
</body>
</html>
效果:
點擊播放按鈕就可以開始播放視頻了。
添加 muted 屬性時,打開瀏覽器時默認聲音是關閉的,可以手動打開。
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><video src="./media/vue.mp4" controls loop muted></video>
</body>
</html>
效果:
有了 muted
屬性之后再添加 autoplay
屬性時,當打開瀏覽器時,視頻將自動播放且靜音播放。如果沒有 muted
屬性卻有 autoplay
屬性,當打開瀏覽器時視頻將不會播放。
程序示例:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><video src="./media/vue.mp4" controls loop muted autoplay></video>
</body>
</html>
綜合案例一 個人簡介
VSCode 自動換行:alt + z
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>個人簡介</title>
</head>
<body><h1>尤雨溪</h1><hr><p>尤雨溪,前端框架<a href="#">Vue.js</a>的作者,<a href="#">HTML5</a>版Clear的打造人,獨立開源開發者。曾就職于Google Creative Labs和Meteor Development Group。由于工作中大量接觸開源的項目<a href="#">JavaScript</a>,最后自己也走上了開源之路,現全職開發和維護<a href="#">Vue.js</a>。</p><img src="./photo.jpg" alt="尤雨溪的照片" title="尤雨溪"><h2>學習經歷</h2><p>尤雨溪畢業于上海復旦附中,在美國完成大學學業,本科畢業于Colgate University,后在Parsons設計學院獲得Design & Technology藝術碩士學位,任職于紐約Google Creative Lab。</p><h2>主要成就</h2><p>尤雨溪<strong>大學專業并非是計算機專業</strong>,在大學期間他學習專業是室內藝術和藝術史,后來讀了美術設計和技術的碩士,<ins>正是在讀碩士期間,他偶然接觸到了JavaScript ,從此被這門編程語言深深吸引,開啟了自己的前端生涯</ins> 。</p><p>2014年2月,開發了一個前端開發庫Vue.js。Vue.js 是構建 Web 界面的 JavaScript 框架,是一個通過簡潔的API提供高效的數據綁定和靈活的組件系統。</p><h2>社會任職</h2><p>2016年9月3日,在南京的JSConf上,Vue作者尤雨溪正式宣布加盟阿里巴巴Weex團隊,尤雨溪稱他將以技術顧問的身份加入Weex團隊來做 Vue 和 Weex 的 JavaScript runtime 整合,目標是讓大家能用 Vue 的語法跨三端。</p>
</body>
</html>
效果:
綜合案例二 Vue 簡介
程序:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Vue 簡介</title>
</head>
<body><h1>Vue.js</h1><p>Vue (讀音 /vju?/,類似于 view) 是一套用于構建用戶界面的漸進式JavaScript框架。 [5] 與其它大型框架不同的是,Vue 被設計為可以自底向上逐層應用。Vue 的核心庫只關注視圖層,不僅易于上手,還便于與第三方庫或既有項目整合。另一方面,當與現代化的工具鏈以及各種支持類庫結合使用時,Vue 也完全能夠為復雜的單頁應用(SPA)提供驅動。</p><p>其作者為<a href="./個人簡介.html" target="_blank">尤雨溪</a> </p><h2>主要功能</h2><p>Vue.js是一套構建用戶界面的漸進式框架。與其他重量級框架不同的是,Vue采用自底向上增量開發的設計。Vue 的核心庫只關注視圖層,并且非常容易學習,非常容易與其它庫或已有項目整合。另一方面,Vue 完全有能力驅動采用單文件組件和Vue生態系統支持的庫開發的復雜單頁應用。</p><p>Vue.js 的目標是通過盡可能簡單的 API 實現響應的數據綁定和組合的視圖組件。</p><p>Vue.js 自身不是一個全能框架——它只聚焦于視圖層。因此它非常容易學習,非常容易與其它庫或已有項目整合。另一方面,在與相關工具和支持庫一起使用時 [2] ,Vue.js 也能驅動復雜的單頁應用。</p><video src="./media/vue.mp4" controls></video>
</body>
</html>