HTML

超文件標記語言 / Hyper Text Markup Language

語法摘要

HTML 由標籤組成,用標籤來標註不同內容的表現與用圖。標籤由一對角括號,標籤名與多個屬性名/值組成:

<標籤名稱 屬性名稱="屬性值"> <標籤名稱 屬性名稱="屬性值"></標籤名稱> <標籤名稱 屬性名稱="屬性值" 屬性名稱="屬性值" 屬性名稱="屬性值">

除了單獨存在的標籤外,也有成對的標籤,方便我們標示網頁區塊的範圍。成對的結尾標籤在名稱前需加上斜線 "/" 用以跟開始標籤做區隔:

<標籤名稱 屬性名稱="屬性值"> ... ( 網頁內容 ) ... </標籤名稱屬性值>

標籤可以內含其它標籤,形成層層相疊的結構,例如:

<h1> <span> 你好 </span> </h1>

標籤名稱決定了該標籤的功能,通常為該功能的縮寫。例如,斷行 (break) 標籤:

<br>

此外,亦有做為註解用途的特殊寫法如下:

<!-- 這裡放註解 -->

以下簡述常用標籤與他們的用途。

常見標籤列表

標籤名類型用途與範例
html成對網頁最外層必須要有的標籤。
head成對存放網頁的資訊、樣式等的地方。
body成對網頁的內容。
a成對超連結。屬性 "href" 指定連結的網址
範例: <a href="http://www.hinet.net"> </a>
br單獨斷行。
範例: <br>
h1成對標題(最大)。
範例: <h1> Headline <h1>
h2成對標題(次大)。
範例: <h2> Headline <h2>
h3成對標題(第三)。
範例: <h3> Headline <h3>
h4成對標題(第四)。
範例: <h4> Headline <h4>
h5成對標題(第五)。
範例: <h5> Headline <h5>
h6成對標題(第六)。
範例: <h6> Headline <h6>
ol成對有序列表。裡面需使用 <li> 列表項目標籤
範例: <ol> <li> ... </li> </ol>
ul成對無序列表。裡面需使用 <li> 列表項目標籤
範例: <ul> <li> ... </li> </ul>
li成對列表中的項目 ( list item )
hr單獨分格線。
範例: <hr>
p成對一個文字段落,前後會自動斷行。
範例: <p> Hello </p>
span成對一段文字。
範例: <span> Hello </span>
div成對區塊標籤,前後會自動斷行。
範例: <div> Hello </div>
i成對一段文字,預設套用斜體樣式
b成對一段文字,預設套用粗體樣式
u成對一段文字,預設加入底線
del成對一段文字,預設加入刪除線
big成對一段文字,預設大一號字體
small成對一段文字,預設小一號字體
img單獨圖片標籤。使用 "img" 屬性指定圖片網址。
範例:
<img src="https://i.imgur.com/OM1jAhs.gif">
table成對製作表格用。以 <table>, <tr>, <td> 三組標籤組成
範例:
<table> <tr> <td> ... </td> <td> ... </td> </tr> <tr> <td> ... </td> <td> ... </td> </tr> </table>
pre成對一段文字,但保留其中的空白與換行。
範例: <pre> Hello </pre>
script成對

載入程式碼。使用 "script" 屬性指定源碼網址,或直接在標籤內輸入程式碼。 範例:

<script src="http://path-to-your-js-file"> </script> <script> alert("hello world!"); </script>
link單獨

引用外部資源。一種常見的用途是載入 CSS 檔案:

<link rel="stylesheet" type="text/css" href="http://path-to-your-css" >
style成對

載入樣式碼。直接在標籤內輸入樣式表。範例:

<style type="text/css"> p { color: red; } </style>
title成對位於 head 標籤中,用於指定網頁標題。
範例: <title> 課程介紹 </title>
meta單獨位於 head 標籤中,用於記錄各種資訊,例如編碼或摘要文字。
範例: <meta charset="utf-8">

常用屬性

在 HTML 中有些屬性是所有標籤通用的:

屬性用圖
id自訂義的、唯一的代碼。可用於程式操作、樣式設定等。
class自定義的標籤分類。可用空白分隔設定多組類別。主要運用在樣式設定上。
style設定標籤的樣式

色碼

在網頁中使用顏色時,可以使用對應的英文字來做設定,例如 redblack 等等。若需要更精細的控制顏色,可以使用 16 進位式的網頁色彩編碼:

#RRGGBB
#RGB ( #RRGGBB 的縮寫 )

其中,RR/R, GG/G, BB/B 各為一個介於 0 ~ ff 之間的 16 進位數字,分別代表了紅、綠、藍三原色的成份。以下列出幾種常用的數值:

代碼代表的顏色範例
#000000黑色
#ffffff白色
#999999灰色
#ff0000紅色
#fedcba亮橘色
需要顏色嗎

如果不曉得用什麼顏色的話,可以點擊下面這個輸入框來選取顏色:

顏色除了使用 hex 碼與名稱以外,亦可以使用下列形式:

rgba(R, G, B, A)

其中 R / G / B 各別對應到 0 ~ 255 之間的值,代表紅、綠、藍光的強度; A 則為介於 0 ~ 1 之間、表示透明度的值。例如下例表示半透明的紫色:

rgba(255, 0, 255, 0.5)

表格製作

如常見標籤列表中所列,我們可以使用 table 標籤製作表格。由於表格同時有行、列兩種方向,在設計上我們先寫出列 ( row, 標籤名為 tr ) ,再寫出行 ( column, 標籤名為 td ),再加上最外層的 table 標籤,一共會有三層標籤:

<table> <tr> <td> </td> <td> </td> ... </tr> <tr> <td> </td> <td> </td> ... </tr> </table>

你可以使用 border 屬性為表格加上邊框,例如:

A B
C D
<table border="1"> <tr> <td> A </td> <td> B </td> ... </tr> <tr> <td> C </td> <td> D </td> ... </tr> </table>

若需要合併儲存格,可以使用 rowspancolspan 屬性 ( 分別對應到列與行 ) 指定儲存格佔的大小。

A B
C D
E F
<table border="1"> <tr> <td colspan="2"> A </td> <td> B </td> </tr> <tr> <td rowspan="2"> C </td> <td colspan="2"> D </td> </tr> <tr> <td> E </td> <td> F </td> </tr> </table>

跳脫字元

由於 HTML 使用角括號 > 與 < 做控制字元,若要在一般文章中顯示角括號,需要使用特殊語法。我們利用 and 符號 "&" 做開頭,接上各種名稱與分號來表示特殊符號,例如:

代碼代表的符號
&lt;角括號 / 小於 ( < )
&gt;角括號 / 大於 ( > )
&amp;and 符號本身 ( & )
&nbsp;空白 (   )
&copy;著作權符號 ( © )

除了文字外,也可用電腦內碼來輸入,例如 &#62; 即代表「>」符號。若在數字前加上 x 則可使用 16 進位制輸入內碼。以下為一些不同的例子:

16 進位制10 進位制代表符號
&#x3052;&#12370;
&#x1f600;&#128512;😀
&#x1f445;&#128069;👅

要注意並非所有的字型都含括完整的符號,使用前可以先測試一下。你可以在 HTML Codes Table 找到一些基本的內碼對應,或者在 Unicode 網站搜尋想用的符號。

基本架構

HTML 實作網頁通常包含以下基本架構:

<html> <head> <!-- 這裡放網頁的資訊、樣式檔等 --> </head> <body> <!-- 這裡放網頁的內容 --> <!-- 若有指令碼, 通常會放在最後面 --> </body> </html>

下例為一個包含基本元件的網頁:

<html> <head> <!-- 指定編碼為 UTF-8 --> <meta charset="utf-8"> <!-- 設定視窗縮放與預設寬度 --> <meta name='viewport' content='width=device-width, initial-scale=1.0'> <!-- 設定網頁標題與簡介 --> <title> 網頁標題 </title> <meta name='description' content='網頁內容的簡介...'> <!-- 使用獨立樣式檔 --> <link rel="stylesheet" type="text/css" href="樣式檔網址"> </head> <body> ... ( 下略 ) ... </body> </html>

Open Graph 設定

使用 meta 標籤可以協助網頁提供額外資訊給其它網站,如臉書。臉書運用 meta 標籤定義了一組 Open Graph 協定,讓網站可以依據其協定定義各種額外的資訊,以提供校調過的內容在如臉書等社交網站上呈現。

基本使用方式為:

<meta property="OG屬性名" content="對應的值">

以下為常用的屬性:

屬性名用途
og:url此資源的正式網址
og:title標題
og:description簡介
og:locale語系, 例如: zh_TW
og:image若以圖卡形式呈現時,可以利用的縮圖
og:image:type縮圖的檔案類型 ( MIME TYPE ),例如 image/jpeg
og:image:width縮圖的寬度
og:image:height縮圖的高度
og:type資源的類型,一般網站為 "website"

其它資訊

新媒體內容技術與設計

New Media Techniques and Design