HTML 學習二 - 清單、表格與表單

📢 本文由 gemini-2.5-flash 翻譯

前言

HTML 學習一 - 基礎: https://blog.yexca.net/archives/146
HTML 學習二 - 清單、表格與表單: https://blog.yexca.net/archives/150
HTML 學習三 - 網頁版面配置: https://blog.yexca.net/archives/195

清單

清單分為無序、有序清單和定義清單

無序清單

unordered list -> list

1
2
3
4
5
<ul>
    <li>第一項</li>
    <li>第二項</li>
    <li>第三項</li>
</ul>

效果如下

  • 第一項
  • 第二項
  • 第三項

有序清單

ordered list -> list

1
2
3
4
5
<ol>
    <li>第一項</li>
    <li>第二項</li>
    <li>第三項</li>
</ol>

效果如下

  1. 第一項
  2. 第二項
  3. 第三項

定義清單

個人記憶: define list -> define title -> define describe

1
2
3
4
5
6
7
8
<dl>
    <dt>第一標題</dt>
    <dd>1.1 描述</dd>
    <dd>1.2 描述</dd>
    <dt>第二標題</dt>
    <dd>2.1 描述</dd>
    <dd>2.2 描述</dd>
</dl>

效果如下

第一標題
1.1 描述
1.2 描述
第二標題
2.1 描述
2.2 描述

dl 標籤裡只能包含 dt 和 dd 標籤,而 dt 和 dd 標籤裡可以包含任何內容

表格

標籤說明個人記憶
table定義表格
tr表格的列table row
th表頭儲存格table head
td內容儲存格table data

以下結構標籤可以省略,主要用於瀏覽器

標籤說明
thead定義標頭內容
tbody定義表格主體
tfoot定義表格底部,彙總資訊

表格範例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<table>
    <thead>
        <tr>
            <th>\</th>
            <th>x</th>
            <th>y</th>
            <th>total</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>a</td>
            <td>50</td>
            <td>50</td>
            <td>100</td>
        </tr>
        <tr>
            <td>b</td>
            <td>50</td>
            <td>50</td>
            <td>100</td>
        </tr>
    </tbody>
    <tfoot>
        <tr>
            <td>total</td>
            <td>100</td>
            <td>100</td>
            <td>100</td>
        </tr>
    </tfoot>
</table>

效果如下

\xytotal
a5050100
b5050100
total100100100

儲存格合併

表格合併分為跨行合併與跨列合併,合併後應刪除被合併的儲存格

屬性說明
rowspan跨行合併,值為合併的行數
colspan跨列合併,值為合併的列數

例如將以上表格第二列的第二個儲存格與第三列的第二個儲存格進行跨行合併,最後一列的最後三個儲存格跨列合併

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<table>
    <thead>
        <tr>
            <th>\</th>
            <th>x</th>
            <th>y</th>
            <th>total</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>a</td>
            <!-- 此處增加跨行合併屬性 -->
            <td rowspan="2">50</td>
            <td>50</td>
            <td>100</td>
        </tr>
        <tr>
            <td>b</td>
            <!-- 此內容可以刪除,此處註解 -->
            <!--<td>50</td>-->
            <td>50</td>
            <td>100</td>
        </tr>
    </tbody>
    <tfoot>
        <tr>
            <td>total</td>
            <!-- 此處增加跨列合併屬性 -->
            <td colspan="3">100</td>
            <!-- 此內容可以刪除,此處註解 -->
            <!--<td>100</td>
            <td>100</td>-->
        </tr>
    </tfoot>
</table>

效果如下

\xytotal
a5050100
b50100
total100

如果使用了結構標籤 (thead, tbody, tfoot),則不能跨結構合併,例如以上表格第三列不能和最後一列合併

表單

form 標籤

一個表單需要使用 form 標籤來劃定表單的範圍,以下所述標籤需要放在 form 標籤內

input 標籤

大多數表單使用 input 標籤實作,根據 type 屬性值的不同,能實作不同功能

type 屬性值說明
text文字方塊
password密碼方塊
radio單選按鈕
checkbox核取方塊
file上傳檔案

佔位文字

佔位文字即提示資訊,文字方塊和密碼方塊可以使用

1
<input type="text" placeholder="提示資訊" />

效果如下

單選按鈕 (radio)

屬性作用
name控制項名稱
checked預設選取

以下程式碼實作性別選擇

1
2
3
性別:
<input type="radio" name="gender" checked /><input type="radio" name="gender" />

效果如下

性別:

檔案上傳

預設情況下,file 類型只能上傳一個檔案,若要上傳多個檔案,可以新增 multiple 屬性

1
<input type="file" multiple />

核取方塊 (checkbox)

又稱複選方塊,預設選取可以使用屬性 checked

1
2
3
4
<input type="checkbox" checked /> a
<input type="checkbox" /> b
<input type="checkbox" /> c
<input type="checkbox" /> d

下拉式選單

1
2
3
4
5
6
7
<select>
    <option>CN</option>
    <option>USA</option>
    <option>UK</option>
    <!-- selected 指定預設選取 -->
    <option selected>JP</option>
</select>

文字區域

實作多行輸入文字的表單控制項,一般為個人簡介

1
<textarea>提示資訊</textarea>

label 標籤

用於網頁中某個標籤的說明文字,還可以將文字和表單控制項綁定,以增大表單控制項的點擊範圍

例如上述性別單選按鈕只有選取圓圈才能選取,而使用此標籤後,選取文字也能選取單選按鈕

方法一

input 標籤新增 id 屬性,label 標籤新增 for 屬性,兩個屬性值相同

1
2
3
4
<input type="radio" name="gender" id="male"/>
    <label for="male"></label>
<input type="radio" name="gender" id="female"/>
    <label for="female"></label>

方法二

直接使用 label 標籤包覆文字和表單控制項

1
2
<label><input type="radio" name="gender" /></label>
<label><input type="radio" name="gender" /></label>

支援 label 標籤以增大點擊範圍的控制項包括:文字方塊、密碼方塊、上傳檔案、單選按鈕、核取方塊、下拉式選單、文字區域等

按鈕

button 標籤根據 type 屬性值的不同,功能也會不同

type 屬性值說明
submit預設功能,提交資料到後端
reset重設按鈕,將表單控制項恢復預設值
button一般按鈕,需搭配 JavaScript 使用
1
<button type="">按鈕</button>