Skip to content

HTML 是什麼?超文本標記語言入門與網頁三劍客

什麼是 HTML:超文本標記語言入門

HTML 的全名是 HyperText Markup Language(超文本標記語言)。它是一種標記語言,而非一般熟知的程式設計語言;它會告訴瀏覽器該如何呈現您的網頁,單純簡易或是極其複雜的頁面都沒問題。

HTML 包含了一系列的元素(elements),而元素包含了標籤(tags)與內容(content),我們用標籤來控制內容的呈現樣貌,例如:字體大小、斜體粗體、在文字或影像設置 超連結 等。

標記語言與程式語言的差別

程式語言有變數、判斷、迴圈這些流程控制的能力,可以 運算 出結果;標記語言則沒有,它做的事情只有一件:替內容加上標記,說明這段內容是什麼

html
<h1>今天的天氣</h1>
<p>台北,晴時多雲。</p>

上面這段沒有任何運算,只是告訴瀏覽器以及搜尋引擎、螢幕閱讀器:第一行是 主標題,第二行是一個 段落。這種 說明內容語意 的能力,正是 HTML 的價值所在,也是 SEO 與網頁無障礙的基礎。

前端網頁開發三劍客

一個網頁通常由三種技術共同組成,各自負責不同的職責:

技術負責對應到人
HTML網頁的內容和語意結構骨架
CSS網頁的樣式和畫面如何被呈現外表
JavaScript網頁的行為,讓網頁可以跟使用者互動動作

HTML

用來描述網頁的內容和語意結構,是三者中最先學、也最該學好的一項。

CSS

用來描述網頁的樣式和畫面如何被呈現,包含顏色、字級、排版與動畫。詳見 CSS 樣式表是什麼

JavaScript

用來描述網頁的行為,讓網頁可以跟使用者互動,例如:透過 DOM 動態改變畫面內容。詳見 JavaScript 到底是什麼

小提醒

初學者常會把 HTML 與 CSS 混雜在一起。它們是不一樣的東西喔!結構歸結構、樣式歸樣式,日後維護才不會綁在一起改。

HTML 基礎架構

以下為一份基礎的 HTML 架構,每一個 標籤 包覆的內容中,可以再包含其他的 標籤,所以說 HTML 文件的結構是屬於一種階層式的樹狀結構:

html
<!DOCTYPE html>
<html lang="zh-Hant">
  <head>
    <meta charset="UTF-8">
    <title>我的第一個網頁</title>
  </head>
  <body>
    <h1>Hello, HTML!</h1>
  </body>
</html>
標籤說明
<!DOCTYPE html>宣告這是一份 HTML5 文件,要寫在最前面
<html>整份文件的根元素,lang 用來標示網頁語系
<head>檔頭區域,放 網頁標題<meta>CSS 等不會顯示在畫面上的資訊
<body>網頁內容區,所有看得到的內容都寫在這裡

想更進一步了解元素怎麼組成、文件各區塊分別放什麼,可以接著看 元素的組成文件架構

常見問題

HTML 是程式語言嗎?

不是。HTML 是標記語言(Markup Language),只負責描述內容與語意結構,沒有變數、判斷、迴圈這些流程控制能力。要讓網頁能運算與互動,得交給 JavaScript

HTML 的元素與標籤有什麼不同?

標籤是像 <p></p> 這樣的角括號記號,元素則是 開始標籤 + 內容 + 結束標籤 的整體。也有像 <img><br> 這種沒有內容、不需要結束標籤的空元素。細節可參考 元素的組成

HTML、CSS、JavaScript 該從哪一個開始學?

先學 HTML。CSS 的樣式要套用在 HTML 元素上,JavaScript 也要透過 DOM 操作 HTML 元素,沒有 HTML 的結構概念,後面兩者都會學得很吃力。

為什麼不要把樣式直接寫在 HTML 裡?

把結構與樣式混在一起,會讓同一份樣式難以重複使用,改版時也得逐個標籤修改。把樣式抽到 CSS,HTML 專心描述語意,維護與協作都會輕鬆很多。

HTML 文件為什麼是樹狀結構?

因為標籤可以層層包覆:<html> 包住 <head><body><body> 再包住其他元素,形成父子關係的階層。瀏覽器就是依這個階層建立 DOM 樹來解析與渲染網頁。

延伸閱讀