若要將多個術語與說明分組,請在 dl 中,先放置一個或多個 dt 元素,再放置一個或多個 dd 元素。本指南將說明如何選擇合適的分組方式、如何在 Mac 上使用 TextEdit 建立小型詞彙表,以及如何確認各項關聯仍然清楚。
HTML 說明清單如何將術語分組?
說明清單用來表示名稱與值之間的關聯。每個群組至少包含一個術語和一項說明,而且所有術語都會出現在說明之前。說明之後出現的下一個術語會開始新的群組。這些關聯是根據文件中的順序建立的。HTML 標準:dl 元素
在詞彙表中,術語可能是版面配置用語,而其說明則解釋該用語。多個連續的術語可以共用同一項說明。您不必在每個別名後都重複相同的解釋。MDN:說明術語元素
實際要考慮的是哪些內容應該放在一起。在撰寫標記之前,先用一般語言寫下每項預期的關聯。在這個虛構範例中,「間距」和「欄溝」共用一項說明,而「磁磚」則有兩種替代含義。
| 預期關係 | 單一群組中的結構 |
|---|---|
| 一個術語配一項說明 | 一個 dt,接著一個 dd |
| 多個術語共用一項說明 | 所有 dt 元素,接著一個 dd |
| 一個術語配多項替代說明 | 一個 dt,接著多個 dd 元素 |
| 多個術語共用多項替代說明 | 所有 dt 元素,接著所有 dd 元素 |
| 一項說明包含多個段落 | 一個 dd,其中包含這些段落 |
這些模式符合標準中的分組規則。尤其是,多項獨立說明代表不同的替代值;屬於同一值的段落則應保留在同一個 dd 中。HTML 標準:說明清單語意
哪些說明應該放在同一個群組?
使用這項判斷方式:群組中的每項說明,是否都合理地適用於群組中的每個術語?如果答案是否定的,請將內容拆分成不同群組。這項編輯檢查是依據關聯模型得出的,有助於在內容出現在頁面之前,找出意外的配對。
多個術語共用一項說明
這段範例為兩個虛構的詞彙表術語提供一項共用說明。兩個術語都出現在說明之前,符合 MDN 記載的多個術語模式。MDN:多個術語、單一說明
<dl>
<dt>Gap</dt>
<dt>Gutter</dt>
<dd>The space between adjacent columns.</dd>
</dl>
不要將此範例解讀為兩個各自缺少說明的獨立項目。範例刻意將這兩個名稱視為同一個群組。如果您的詞彙表為它們指定了不同含義,請為每個名稱各自提供一項說明。
一個術語搭配多項替代說明
同一群組中,一項說明後面可以接著另一項說明。在這裡,虛構的詞彙表將「磁磚」用於兩個不同概念。MDN:說明細節元素
<dl>
<dt>Tile</dt>
<dd>A repeating unit in a visual pattern.</dd>
<dd>A rectangular content block in a page layout.</dd>
</dl>
如果多個名稱共用這些相同的替代說明,請將其他術語放在第一項說明之前。不要假設第一個術語只對應第一項說明、第二個術語只對應第二項說明;若要表達這種關係,就必須使用不同群組。MDN 明確記載了結合多個術語與說明的做法。MDN:多個術語與說明
一項說明包含多個段落
如果第二段是對第一段說明的補充,請將兩段都放在同一個 dd 中。dd 接受流內容,包括段落。這樣既能保留單一說明,也能在其中安排易讀的結構。MDN:說明細節技術摘要
<dl>
<dt>Canvas</dt>
<dd>
<p>The working area for a composition.</p>
<p>In this glossary, the term refers to the whole area.</p>
</dd>
</dl>
在 Mac 上使用 TextEdit 建立完整範例
從新檔案開始,方便您檢視結果,而不會變更既有文件。在 TextEdit 中,選擇 File > New,接著選擇 Format > Make Plain Text。Apple 將此列為撰寫 HTML 檔案的起始步驟。Apple:在 Mac 上使用 TextEdit 處理 HTML 文件
貼上以下完整文件。它將上述三種判斷方式合併成一份小型詞彙表。每個群組都有自己的 div 容器,這種結構受到支援,可用來為整個群組套用樣式或屬性。MDN:包裝名稱和值群組
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Layout glossary</title>
</head>
<body>
<h1>Layout glossary</h1>
<dl>
<div>
<dt>Gap</dt>
<dt>Gutter</dt>
<dd>The space between adjacent columns.</dd>
</div>
<div>
<dt>Tile</dt>
<dd>A repeating unit in a visual pattern.</dd>
<dd>A rectangular content block in a page layout.</dd>
</div>
<div>
<dt>Canvas</dt>
<dd>
<p>The working area for a composition.</p>
<p>In this glossary, the term refers to the whole area.</p>
</dd>
</div>
</dl>
</body>
</html>
選擇 File > Save,將檔案命名為 layout-glossary.html,然後按一下 Save。如果 TextEdit 詢問要使用哪個副檔名,請選擇 Use .html。這是 Apple 記載的手動撰寫 HTML 檔案儲存步驟。Apple:建立 HTML 檔案
在瀏覽器中開啟已儲存的檔案。將顯示的文字與以下三項預期關聯比對:「間距」和「欄溝」共用一項說明;「磁磚」有兩項說明;「畫布」有一項包含兩個段落的說明。即使瀏覽器的預設間距看起來與您偏好的設計不同,也可以透過這項比對檢查預期的內容關係。
編輯時維持分組完整
HTML 支援在 dl 中直接放置術語與說明群組,也支援將群組包在 div 元素中。在同一份清單中,請統一使用其中一種結構。在上述包裝版本中,請將每個群組的術語和說明直接放在其容器內;不要將術語與說明分別放進不同容器。HTML 標準:說明清單內容模型
修改範例時,請進行以下簡短檢查:
- 找出您打算修改的群組。
- 將該群組的所有術語都保留在說明之前。
- 判斷新增的說明文字是另一個值,還是目前值的另一個段落。
- 加入不相關術語時,建立新的完整群組。
- 儲存文件,並重新載入瀏覽器預覽。
例如,在兩項「磁磚」說明之間加入「面板」,會中斷預期的關係:後面的說明會屬於新開始的群組。請將新術語及其說明放在自己的容器中。這符合標準的規則:遇到說明後出現的術語時,便會開始新的群組。HTML 標準:分組演算法
如果 TextEdit 以格式化文字的方式重新開啟檔案,請使用 File > Open,選取文件,按一下 Show Options,並在開啟前選取 Ignore rich text commands。若要套用到未來建立的檔案,請在 TextEdit > Settings > Open and Save 中選取 Display HTML files as HTML code instead of formatted text。Apple:以程式碼檢視 HTML 文件
最後檢查時,請專注於含義:找出術語、找出它們共用的說明,並確認段落分隔不會意外變成不同的值。確認這些關聯正確後,詞彙表就可以套用文件所需的呈現樣式了。
來源
- HTML 標準 — 分組內容 — WHATWG。
dl:HTML 說明清單元素 — MDN Web Docs。dt:HTML 說明術語元素 — MDN Web Docs。dd:HTML 說明細節元素 — MDN Web Docs。- 在 Mac 上使用 TextEdit 處理 HTML 文件 — Apple。