好的,這就為您提供附有完整繁體中文註解的10階段HTML表格課程。每一行程式碼旁都有詳細說明,幫助您更深入地理解其作用。
主題:學習HTML表格 10階段課程 (含完整註解)
階段 1:建立您的第一個表格
說明:
所有 HTML 表格都始於 <table> 標籤。<tr> (table row) 用於建立表格中的「列」,而 <td> (table data) 用於建立該列中的「儲存格」。這是構成表格最基本的元素。
程式碼範例:
<!DOCTYPE html> <html> <head> <title>階段 1:第一個表格</title> </head>
<body> <h1>我的第一個 HTML 表格</h1> <table> <tr> <td>第一列,第一個儲存格</td> <td>第一列,第二個儲存格</td> </tr> <tr> <td>第二列,第一個儲存格</td> <td>第二列,第二個儲存格</td> </tr> </table> </body>
</html>
階段 2:新增表格邊框
說明:
直接在 <table> 標籤上使用 border 屬性可以為表格加上基本邊框。這是一個視覺輔助屬性,能讓表格的結構在畫面上更清晰可見。
程式碼範例:
<!DOCTYPE html>
<html>
<head>
<title>階段 2:新增邊框</title>
</head>
<body>
<h1>有邊框的表格</h1>
<table border="1">
<tr>
<td>A1</td>
<td>B1</td>
</tr>
<tr>
<td>A2</td>
<td>B2</td>
</tr>
</table>
</body>
</html>
階段 3:使用表格標頭
說明:
<th> (table header) 標籤用來定義表格的「標頭」儲存格。它在語意上代表這是標題資訊,瀏覽器預設會將其顯示為粗體並置中,以和一般資料 <td> 做出區別。
程式碼範例:
<!DOCTYPE html>
<html>
<head>
<title>階段 3:表格標頭</title>
</head>
<body>
<h1>課程表</h1>
<table border="1">
<tr> <th>星期</th> <th>課程</th> <th>老師</th> </tr>
<tr> <td>星期一</td> <td>國文</td>
<td>王老師</td>
</tr>
<tr> <td>星期二</td>
<td>數學</td>
<td>李老師</td>
</tr>
</table>
</body>
</html>
階段 4:為表格加上標題
說明:
<caption> 標籤用來為整個表格提供一個正式的標題。它應該緊跟在 <table> 標籤之後,有助於螢幕閱讀器和使用者快速了解表格的內容摘要。
程式碼範例:
<!DOCTYPE html>
<html>
<head>
<title>階段 4:表格標題</title>
</head>
<body>
<table border="1">
<caption>每月開銷紀錄</caption>
<tr>
<th>項目</th>
<th>金額</th>
</tr>
<tr>
<td>伙食費</td>
<td>8000</td>
</tr>
<tr>
<td>交通費</td>
<td>1500</td>
</tr>
</table>
</body>
</html>
階段 5:跨欄合併儲存格 (colspan)
說明:
colspan (column span) 是一個用在 <td> 或 <th> 上的屬性,能讓該儲存格水平延伸,合併多個「欄位」。屬性的值(例如 colspan="2")表示要合併的欄位數量。
程式碼範例:
<!DOCTYPE html>
<html>
<head>
<title>階段 5:跨欄合併</title>
</head>
<body>
<h1>跨欄合併範例</h1>
<table border="1">
<tr>
<th colspan="2">姓名與電話</th>
</tr>
<tr>
<td>小明</td> <td>0912-345-678</td> </tr>
<tr>
<td>小華</td>
<td>0987-654-321</td>
</tr>
</table>
</body>
</html>
階段 6:跨列合併儲存格 (rowspan)
說明:
rowspan (row span) 屬性與 colspan 相似,但它是垂直方向的合併,能讓儲存格垂直延伸,合併多個「列」。
程式碼範例:
<!DOCTYPE html>
<html>
<head>
<title>階段 6:跨列合併</title>
</head>
<body>
<h1>跨列合併範例</h1>
<table border="1">
<tr>
<th>項目</th>
<th>內容</th>
<th>價格</th>
</tr>
<tr>
<th rowspan="2">飲料</th>
<td>紅茶</td> <td>30</td>
</tr>
<tr>
<td>綠茶</td>
<td>30</td>
</tr>
<tr>
<th>點心</th>
<td>蛋糕</td>
<td>70</td>
</tr>
</table>
</body>
</html>
階段 7:使用語意化結構 (thead, tbody, tfoot)
說明:
<thead>、<tbody> 和 <tfoot> 標籤用於將表格劃分為邏輯上的「頭部」、「主體」和「腳部」。這不會改變表格的外觀,但能提供更清晰的語意結構,對無障礙網頁(例如螢幕閱讀器)和大型表格的樣式控制非常重要。
程式碼範例:
<!DOCTYPE html>
<html>
<head>
<title>階段 7:語意化結構</title>
</head>
<body>
<table border="1">
<caption>產品報價單</caption>
<thead>
<tr>
<th>產品名稱</th>
<th>單價</th>
</tr>
</thead>
<tfoot>
<tr>
<td>總計</td>
<td>1250</td>
</tr>
</tfoot>
<tbody>
<tr>
<td>A 產品</td>
<td>500</td>
</tr>
<tr>
<td>B 產品</td>
<td>750</td>
</tr>
</tbody>
</table>
</body>
</html>
階段 8:定義欄位群組 (colgroup, col)
說明:
colgroup 和 <col> 標籤提供了一種對整個「欄位」進行分組的方式。雖然它們最強大的功能(如設定背景顏色)需要 CSS 配合,但在純 HTML 中,它們明確地定義了表格的欄位結構。
程式碼範例:
<!DOCTYPE html>
<html>
<head>
<title>階段 8:欄位群組</title>
</head>
<body>
<table border="1">
<colgroup>
<col> <col> <col> </colgroup>
<caption>書籍庫存</caption>
<tr>
<th>書名</th>
<th>作者</th>
<th>數量</th>
</tr>
<tr>
<td>HTML入門</td>
<td>張三</td>
<td>25</td>
</tr>
<tr>
<td>表格的藝術</td>
<td>李四</td>
<td>18</td>
</tr>
</table>
</body>
</html>
階段 9:調整儲存格間距與內距
說明:
cellspacing 屬性設定儲存格與儲存格之間的距離(外部間距)。cellpadding 屬性設定儲存格邊框與內部文字之間的距離(內部邊距或內襯)。這些屬性現今多由 CSS 取代,但仍是早期 HTML 的一部分。
程式碼範例:
<!DOCTYPE html>
<html>
<head>
<title>階段 9:儲存格間距與內距</title>
</head>
<body>
<h1>調整間距與內距</h1>
<table border="1" cellspacing="10" cellpadding="20">
<tr>
<th>標題 A</th>
<th>標題 B</th>
</tr>
<tr>
<td>內容 1</td>
<td>內容 2</td>
</tr>
</table>
</body>
</html>
階段 10:綜合練習
說明:
這個階段將前面學到的所有技巧,包括 colspan, rowspan 以及語意化標籤 <thead>, <tbody>, <tfoot> 等,全部結合起來,建立一個結構更複雜、資訊更完整的表格。
程式碼範例:
<!DOCTYPE html>
<html>
<head>
<title>階段 10:綜合練習</title>
</head>
<body>
<h1>學期成績單</h1>
<table border="1" cellpadding="5" cellspacing="0">
<caption>113學年度 上學期成績</caption>
<colgroup>
<col> <col> <col> <col> </colgroup>
<thead>
<tr>
<th rowspan="2">學生</th>
<th colspan="2">考試成績</th>
<th rowspan="2">總平均</th>
</tr>
<tr>
<th>期中考</th>
<th>期末考</th>
</tr>
</thead>
<tbody>
<tr>
<td>陳大文</td>
<td>85</td>
<td>92</td>
<td>88.5</td>
</tr>
<tr>
<td>林小美</td>
<td>90</td>
<td>88</td>
<td>89.0</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="3"><b>班級平均</b></td> <td><b>88.75</b></td>
</tr>
</tfoot>
</table>
</body>
</html>