目錄
1 -> HTML概念
2 -> HTML結構
2.1 -> 認識HTML標籤
2.2 -> HTML文件基本結構
2.3 -> 標籤層次結構
3 -> 快速生成代碼框架
4 -> HTML常見標籤
4.1 -> 註釋標籤
4.2 -> 標題標籤
4.3 -> 段落標籤
4.4 -> 換行標籤
4.5 -> 格式化標籤
4.6 -> 圖片標籤
4.7 -> 超鏈接標籤
5 -> 關於目錄結構
1 -> HTML概念
HTML,全稱為HyperText Markup Language,即超文本標記語言,是一種用於創建網頁的標準標記語言。HTML允許用户在網頁中加入各種元素,如文本、圖像、鏈接、表格、列表、視頻等,從而構建出結構化的文檔。
2 -> HTML結構
2.1 -> 認識HTML標籤
HTML代碼是由“標籤”構成的。
形如:
<body>hello</body>
- 標籤名(body)放到<>中。
- 大部分標籤成對出現。<body>為開始標籤,</body>為結束標籤。
- 少數標籤只有開始標籤,稱為“單標籤”。
- 開始標籤和結束標籤之間,寫的是標籤的內容。
- 開始標籤中可能會帶有“屬性”。id屬性相當於給這個標籤設置了一個唯一的標識符(身份證號碼)。
<body id="myId">hello</body>
2.2 -> HTML文件基本結構
<html>
<head>
<title>我的第一個頁面</title>
</head>
<body>
One Piece
</body>
</html>
- <html>標籤是整個HTML文件的根標籤(最頂層標籤)。
- <head>標籤中寫頁面的屬性。
- <body>標籤中寫的是頁面上顯示的內容。
- <title>標籤中寫的是頁面的標題。
2.3 -> 標籤層次結構
- 父子關係
- 兄弟關係
<html>
<head>
<title>我的第一個頁面</title>
</head>
<body>
One Piece
</body>
</html>
其中:
- <head>和<body>是<html>的子標籤(<html>就是<head>和<body>的父標籤)。
- <title>是<head>的子標籤。<head>是<title>的父標籤。
- <head>和<body>之間是兄弟關係。
可以使用F12或者右鍵審查元素,開啓開發者工具,切換到元素標籤,就可以看到頁面結構的細節了。
標籤之間的結構關係,構成了一個DOM樹。
DOM是Document Object Mode(文檔對象模型)的縮寫。
3 -> 快速生成代碼框架
在Visual Studio Code中創建文件xxx.html,直接輸入!,並且按tab鍵,此時就可以自動生成代碼的主體框架。
<!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>
細節解釋:
- <!DOCTYPE html>:稱為DTD(文檔類型定義),描述當前的文件是一個HTML5的文件。
- <html lang="en">:lang屬性表示當前頁面是一個“英語頁面”。(有些瀏覽器會根據此處的聲明提示是否進行自動翻譯)
- <meta charset="UTF-8">:描述頁面的字符編碼方式。沒有這一行可能會導致中文亂碼。
- <meta name="viewport" content="width=device-width, initial-scale=1.0">:name="viewport"其中viewport指的是設備的屏幕上能用來顯示網頁的哪一塊區域;content="width=device-width, initial-scale=1.0"在設置可視區和設備寬度等寬,並設置初始縮放為不縮放。(這個屬性對於移動端開發更重要一些)。
4 -> HTML常見標籤
4.1 -> 註釋標籤
註釋不會顯示在界面上。目的是提高代碼的可讀性。
<!-- 我是註釋 -->
ctrl + / 快捷鍵可以快速進行註釋/取消註釋。
註釋的原則
- 要和代碼邏輯一致。
- 儘量使用中文。
- 不要傳遞負能量。
4.2 -> 標題標籤
標題標籤有六個,從h1到h6。數字越大,則字體越小。
<!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>One Piece</h1>
<h2>One Piece</h2>
<h3>One Piece</h3>
<h4>One Piece</h4>
<h5>One Piece</h5>
<h6>One Piece</h6>
</body>
</html>
展示結果:
4.3 -> 段落標籤
把一段比較長的文本粘貼到HTML中,會發現並沒有分成段落。
例如以下文本:
css中的1px並不等於設備的1px
在css中我們一般使用px作為單位,在桌面瀏覽器中css的1個像素往往都是對應着電腦屏幕的1個物理像素,這可能會造成我們的一個錯覺,那就是css中的像素就是設備的物理像素。但實際情況卻並非如此,css中的像素只是一個抽象的單位,在不同的設備或不同的環境中,css中的1px所代表的設備物理像素是不同的。在為桌面瀏覽器設計的網頁中,我們無需對這個津津計較,但在移動設備上,必須弄明白這點。在早先的移動設備中,屏幕像素密度都比較低,如iphone3,它的分辨率為320x480,在iphone3上,一個css像素確實是等於一個屏幕物理像素的。後來隨着技術的發展,移動設備的屏幕像素密度越來越高,從iphone4開始,
蘋果公司便推出了所謂的Retina屏,分辨率提高了一倍,變成640x960,但屏幕尺寸卻沒變化,這就意味着同樣大小的屏幕上,像素卻多了一倍,這時,一個css像素是等於兩個物理像素的。其他品牌的移動設備也是這個道理。例如安卓設備根據屏幕像素密度可分為ldpi、mdpi、hdpi、xhdpi等不同的等級,分辨率也是五花八門,安卓設備上的一個css像素相當於多少個屏幕物理像素,也因設備的不同而不同,沒有一個定論。
還有一個因素也會引起css中px的變化,那就是用户縮放。例如,當用户把頁面放大一倍,那麼css中1px所代表的物理像素也會增加一倍;反之把頁面縮小一倍,css中1px所代表的物理像素也會減少一倍。關於這點,在文章後面的部分還會講到。
在移動端瀏覽器中以及某些桌面瀏覽器中,window對象有一個devicePixelRatio屬性,它的官方的定義為:設備物理像素和設備獨立像素的比例,也就是 devicePixelRatio = 物理像素 /
獨立像素。css中的px就可以看做是設備的獨立像素,所以通過devicePixelRatio,我們可以知道該 設備上一個css像素代表多少個物理像素。例如,在Retina屏的iphone上,devicePixelRatio的值為2,也就是説1個css像素相當於2個物理像素。但是要注意的是,devicePixelRatio在不同的瀏覽器中還存在些許的兼容性問題,所以我們現在還並不能完全信賴這個東西。
<!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>css中的1px並不等於設備的1px
在css中我們一般使用px作為單位,在桌面瀏覽器中css的1個像素往往都是對應着電腦屏幕的1個物理像
素,這可能會造成我們的一個錯覺,那就是css中的像素就是設備的物理像素。但實際情況卻並非如此,css
中的像素只是一個抽象的單位,在不同的設備或不同的環境中,css中的1px所代表的設備物理像素是不同
的。在為桌面瀏覽器設計的網頁中,我們無需對這個津津計較,但在移動設備上,必須弄明白這點。在早先的
移動設備中,屏幕像素密度都比較低,如iphone3,它的分辨率為320x480,在iphone3上,一個css像素確
實是等於一個屏幕物理像素的。後來隨着技術的發展,移動設備的屏幕像素密度越來越高,從iphone4開始,
蘋果公司便推出了所謂的Retina屏,分辨率提高了一倍,變成640x960,但屏幕尺寸卻沒變化,這就意味着
同樣大小的屏幕上,像素卻多了一倍,這時,一個css像素是等於兩個物理像素的。其他品牌的移動設備也是
這個道理。例如安卓設備根據屏幕像素密度可分為ldpi、mdpi、hdpi、xhdpi等不同的等級,分辨率也是五
花八門,安卓設備上的一個css像素相當於多少個屏幕物理像素,也因設備的不同而不同,沒有一個定論。
還有一個因素也會引起css中px的變化,那就是用户縮放。例如,當用户把頁面放大一倍,那麼css中
1px所代表的物理像素也會增加一倍;反之把頁面縮小一倍,css中1px所代表的物理像素也會減少一倍。關於
這點,在文章後面的部分還會講到。
在移動端瀏覽器中以及某些桌面瀏覽器中,window對象有一個devicePixelRatio屬性,它的官方的
定義為:設備物理像素和設備獨立像素的比例,也就是 devicePixelRatio = 物理像素 /
獨立像素。css中的px就可以看做是設備的獨立像素,所以通過devicePixelRatio,我們可以知道該
設備上一個css像素代表多少個物理像素。例如,在Retina屏的iphone上,devicePixelRatio的值為2,
也就是説1個css像素相當於2個物理像素。但是要注意的是,devicePixelRatio在不同的瀏覽器中還存在
些許的兼容性問題,所以我們現在還並不能完全信賴這個東西。</p>
</body>
</html>
展示結果:
- p標籤表示一個段落。
<p>這是一個段落</p>
通過p標籤改進上述代碼,每個段落放到p標籤中。
<!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>css中的1px並不等於設備的1px</p>
<p>
在css中我們一般使用px作為單位,在桌面瀏覽器中css的1個像素往往都是對應着電腦屏幕的1個物理像
素,這可能會造成我們的一個錯覺,那就是css中的像素就是設備的物理像素。但實際情況卻並非如此,css
中的像素只是一個抽象的單位,在不同的設備或不同的環境中,css中的1px所代表的設備物理像素是不同
的。在為桌面瀏覽器設計的網頁中,我們無需對這個津津計較,但在移動設備上,必須弄明白這點。在早先的
移動設備中,屏幕像素密度都比較低,如iphone3,它的分辨率為320x480,在iphone3上,一個css像素確
實是等於一個屏幕物理像素的。後來隨着技術的發展,移動設備的屏幕像素密度越來越高,從iphone4開始,
蘋果公司便推出了所謂的Retina屏,分辨率提高了一倍,變成640x960,但屏幕尺寸卻沒變化,這就意味着
同樣大小的屏幕上,像素卻多了一倍,這時,一個css像素是等於兩個物理像素的。其他品牌的移動設備也是
這個道理。例如安卓設備根據屏幕像素密度可分為ldpi、mdpi、hdpi、xhdpi等不同的等級,分辨率也是五
花八門,安卓設備上的一個css像素相當於多少個屏幕物理像素,也因設備的不同而不同,沒有一個定論。
</p>
<p>
還有一個因素也會引起css中px的變化,那就是用户縮放。例如,當用户把頁面放大一倍,那麼css中
1px所代表的物理像素也會增加一倍;反之把頁面縮小一倍,css中1px所代表的物理像素也會減少一倍。關於
這點,在文章後面的部分還會講到。
</p>
<p>
在移動端瀏覽器中以及某些桌面瀏覽器中,window對象有一個devicePixelRatio屬性,它的官方的
定義為:設備物理像素和設備獨立像素的比例,也就是 devicePixelRatio = 物理像素 /
獨立像素。css中的px就可以看做是設備的獨立像素,所以通過devicePixelRatio,我們可以知道該
設備上一個css像素代表多少個物理像素。例如,在Retina屏的iphone上,devicePixelRatio的值為2,
也就是説1個css像素相當於2個物理像素。但是要注意的是,devicePixelRatio在不同的瀏覽器中還存在
些許的兼容性問題,所以我們現在還並不能完全信賴這個東西,具體的情況可以看下這篇文章。
</p>
</body>
</html>
展示結果:
注意:
- p標籤之間存在一個空隙。
- 當前的p標籤描述的段落,前面還沒有縮進(可以使用CSS)。
- 自動根據瀏覽器寬度來決定排版。
- html內容首尾處的換行、空格均無效。
- 在html中文字之間輸入的多個空格只相當於一個空格。
- html中直接輸入換行不會真的換行,而是相當於一個空格。
4.4 -> 換行標籤
<br>是break的縮寫。表示換行。
- <br>是一個單標籤(不需要結束標籤)。
- <br>標籤不像<p>標籤那樣帶有一個很大的空隙。
- <br/>是規範寫法。不建議寫成<br>。
<!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>
在css中我們一般使用px作為單位,<br/>
在桌面瀏覽器中css的1個像素往往都是對應着電腦屏幕的1個物理像素,這可能會造成我們的一個錯覺,
那就是css中的像素就是設備的物理像素。但實際情況卻並非如此,css中的像素只是一個抽象的單位,在不
同的設備或不同的環境中,css中的1px所代表的設備物理像素是不同的。在為桌面瀏覽器設計的網頁中,我
們無需對這個津津計較,但在移動設備上,必須弄明白這點。在早先的移動設備中,屏幕像素密度都比較低,
如iphone3,它的分辨率為320x480,在iphone3上,一個css像素確實是等於一個屏幕物理像素的。後來隨
着技術的發展,移動設備的屏幕像素密度越來越高,從iphone4開始,蘋果公司便推出了所謂的Retina屏,
分辨率提高了一倍,變成640x960,但屏幕尺寸卻沒變化,這就意味着同樣大小的屏幕上,像素卻多了一倍,
這時,一個css像素是等於兩個物理像素的。其他品牌的移動設備也是這個道理。例如安卓設備根據屏幕像素
密度可分為ldpi、mdpi、hdpi、xhdpi等不同的等級,分辨率也是五花八門,安卓設備上的一個css像素相
當於多少個屏幕物理像素,也因設備的不同而不同,沒有一個定論。
</p>
</body>
</html>
展示結果:
4.5 -> 格式化標籤
- 加粗:<strong>標籤和<b>標籤。
- 傾斜:<em>標籤和<i>標籤。
- 刪除線:<del>標籤和<s>標籤。
- 下劃線:<ins>標籤和<u>標籤。
<!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>
<b>b 加粗</b>
<em>傾斜</em>
<i>傾斜</i>
<del>刪除線</del>
<s>刪除線</s>
<ins>下劃線</ins>
<u>下劃線</u>
</body>
</html>
展示結果:
使用CSS也可以實現類似的效果。實際的開發中以CSS方式為主。
4.6 -> 圖片標籤
<img>標籤必須帶有src屬性。表示圖片的路徑。
<img src="MyImg.jpg">
此時要把MyImg.jpg這個圖片文件放到和html中的同級目錄中。
<img>標籤的其他屬性:
- alt:替換文本。當文本不能正確顯示的時候,會顯示一個替換的文字。
- title:提示文本。鼠標放到圖片上,就會有顯示。
- width/height:控制寬度高度。寬度和高度一般改一個就行,另外一個會等比例縮放。否則就會圖片失衡。
- border:邊框,參數是寬度的像素。但是一般使用CSS來設定。
<img src="MyImg.jpg" alt="路飛" title="這是五檔路飛" width="500px" height="800px"
border="5px">
注意:
- 屬性可以有多個,不能寫到標籤之前。
- 屬性之間用空格分割,可以是多個空格,也可以是換行。
- 屬性之間不分先後順序。
- 屬性使用“鍵值對”的格式來表示。
4.7 -> 超鏈接標籤
- href:必須具備,表示點擊後會跳轉到哪個頁面。
- target:打開方式。默認是_self。如果是_blank則用新的標籤頁打開。
<a href="http://www.baidu.com">百度</a>
鏈接的幾種形式:
- 外部鏈接:href引用其他網站的地址
<a href="http://www.baidu.com">百度</a>
- 內部鏈接:網站內部頁面之間的鏈接。寫相對路徑即可。
在一個目錄中,先創建一個1.html,再創建一個2.html。
<!-- 1.html -->
我是 1.html
<a href="2.html">點我跳轉到 2.html</a>
<!-- 2.html -->
我是 2.html
<a href="1.html">點我跳轉到 1.html</a>
- 空鏈接:使用#在href中佔位。
<a href="#">空鏈接</a>
- 下載鏈接:href對應的路徑是一個文件。(可以使用zip文件)
<a href="test.zip">下載文件</a>
- 網頁元素鏈接:可以給圖片等任何元素添加鏈接(把元素放到<a>標籤中)。
<a href="http://www.baidu.com">
<img src="MyImg.jpg" alt="">
</a>
- 錨點鏈接:可以快速定位到頁面中的某個位置。
<a href="#one">第一集</a>
<a href="#two">第二集</a>
<a href="#three">第三集</a>
<p id="one">
第一集劇情 <br>
第一集劇情 <br>
...
</p>
<p id="two">
第二集劇情 <br>
第二集劇情 <br>
...
</p>
<p id="three">
第三集劇情 <br>
第三集劇情 <br>
...
</p>
禁止<a>標籤跳轉:
<a href="javascript:void(0);">
或者
<a href="javascript:;">
5 -> 關於目錄結構
對於一個複雜的網站,頁面資源很多,這種情況可以使用目錄把這些文件整理好。
1. 相對路徑:以html所在的位置為基準,找到圖片位置。
- 同級路徑:直接寫文件名即可(或者./)。
- 下一級路徑:image/1.jpg。
- 上一級路徑:../image/1.jpg。
2. 相對路徑:一個完整的磁盤路徑,或者網絡路徑。例如:
- 磁盤路徑:"D:\oneDrive\桌面\前端技術.png"。
- 網絡路徑:。
代碼示例
1. 使用相對路徑:創建一個image目錄和html同級,並放入一個MyImg2.jpg。
<img src="image/MyImg2.jpg" alt="">
2. 使用相對路徑:在image目錄中創建一個html,並訪問上級目錄的MyImg.jpg。
<img src="../MyImg.jpg" alt="">
3. 使用絕對路徑:最好使用/,不要使用\。
<img src="D:/MyImg.jpg" alt="">
4. 使用絕對路徑:使用網絡路徑。
<img src=""
alt="">
感謝各位大佬支持!!!
互三啦!!!