HTML(Hypertext Markup Language),中文是「超文本標記語言」,是一種用來組織架構與呈現網頁內容的標記語言,本篇文章是分享我學習 HTML 的筆記內容。

1. HTML 簡介

  • HTML(HyperText Markup Language),中文是「超文本標記語言」。
  • 超文本是從某網頁連到其他網頁的連結。
  • HTML 使用標記(markup)來詮釋文字、圖片或其他顯示內容。例如用段落標籤<p>來表示此句子是段落:
<p>My cat is very grumpy</p>
  • HTML、CSS、JavaScript 的關係:
    • HTML:骨架。
    • CSS:衣服。
    • JavaScript:動作。

2. 製作第一個網頁

下載VS Code,並安裝外掛:Auto Rename Tag、Prettier。

使用 VS Code,儲存一個副檔名為.html的檔案。

在檔案中,先用簡單的標籤撰寫,例如段落標籤<p>

<p>這是段落</p>

儲存檔案後,用瀏覽器開啟.html檔案,即可看到網頁。

3. 標籤、HTML Validator

範例:

<p>我的貓 <strong>非常</strong> 可愛。</p>
  • 起始標籤(opening tag):<>,例如<p>
  • 結束標籤(closing tag):</>,例如</p>
  • 內容(content):元素的內容,例如「我的貓非常可愛。」。
  • 元素(element):以上三者加起來就是元素 HTML element。
  • 巢狀元素(Nesting elements):把元素放進另一個元素裡面,叫巢套(nesting),例如<strong>...</strong>放進<p>...</p>
  • HTML Validator:全球資訊網協會(W3C)提供驗證服務,可以檢查 HTML 檔案是否符合 HTML 標準,檢驗網頁:The W3C Markup Validation Service

4. 物件導向(Object-Oriented)

  • 屬性(Attributes):就像廠牌、年份、顏色。
  • 行為(Methods):就像直走、左轉、鳴喇叭。

5. HTML Skeleton

  • 沒有 Skeleton(骨架)就無法呈現:
<!DOCTYPE html>
<html>
  <head></head>
  <body></body>
</html>

6. HTML Skeleton 2

  • head:網頁的特定信息,包含 title、script、css……。
  • 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></body>
</html>
  • command+/可生成註解:
<!-- 我是註解 -->

7. head 標籤

  • head 內的元素可至HEAD查詢。
  • 比較重要的有:viewport、description、robots、googlebot。

8. h1-h6 標籤

  • 有六種標題元素:<h1><h2><h3><h4><h5><h6>
  • <h1>:代表主標題,最重要的,只能有一個。
  • <h2>:代表副標題。
  • <h3>:代表更次級的副標題
  • <h6>:最不重要的副標題。
  • HTML 標籤是定義架構,不是樣式。

9. p 標籤、anchor tags

  • <p>:段落,HTML 會自動加空行。
  • <a>:超鏈接。
  • 常用標籤可至MDN查詢。

10. img 標籤、絕對路徑與相對路徑

  • <img>:圖片。
  • 絕對路徑:使用完整的 URL。
  • 相對路徑:連結到相對於目前文件的檔案。.代表目前 html 文件所在資料夾位置,..代表上層的資料夾位置。

11. ul 與 ol 標籤

  • <ul>:無序清單。
  • <ol>:有序清單。

12. block, inline

  • block elements:在頁面中組成區塊,例如:<div>
  • inline elements:是指放在 block elements 中的內容,例如:<a>

13. 表格製作

  • 製作表格需要用到標籤<table><tr>(每一行)、<th>(標題單元格)、<td>(數據)。
  • colspan 定義跨越列數,rowspan 定義跨越行數。
  • 選擇性使用的標籤:<thead><tbody><tfoot>

14. 表單製作

  • form action:定義數據發送地。
  • form method:告訴瀏覽器如何將數據發送到伺服器。

15. GET, POST

  • GET:把數據發送到 action 指定的 URL。
  • POST:隱藏資料或向伺服器寄送被儲存的資料。

16. checkbox, email, file

input type:

  • checkbox:勾選格。
  • email:電子郵件填寫欄位。
  • file:選取檔案。

17. number, password

input type:

  • number:數字欄位,minmax可設定最小值最大值。
  • password:密碼欄位。

18. radio, range

input type:

  • radio:單選。
  • range:滑桿。

19. button, selection, option, datalist, textarea

  • <button>:按鈕,<button>放在<form>內,預設 type 是 submit。
  • <selection>:下拉式選單。
  • <option>:下拉式選單中的個別選項。
  • <datalist>:建立資料清單 ,和<input>結合。
  • <textarea>:可輸入多行文字的輸入框。

20. br, hr, comment

  • <br>:換行。
  • <hr>:分隔線,主題的分隔。
  • comment:註解。
<!-- 
我是註解
我是註解
-->

21. index.html, HTML entity

  • index.html:目錄中默認開啟的文件。
  • HTML entity:特殊符號,以&為開頭,;為結尾,可至HTML Symbols查詢。

22. favicon.ico

  • favicon.ico:與某網站相關聯的圖示,會在瀏覽器網址列左側顯示。