[英]HTML - Markup for ordered list with numbers?
這是一個愚蠢的問題,但是對於已經有數字的有序列表,我應該使用什么標記呢? 我目前正在使用<OL>
標記,但在我看來有點多余。
標記:
<ol>
<li>Chapter 1</li>
<li>Chapter 2</li>
<li>Chapter 3</li>
<li>Chapter 4</li>
</ol>
輸出:
1. Chapter 1
2. Chapter 2
3. Chapter 3
4. Chapter 4
由於某些原因,我沒有使用CSS,所以<OL>
樣式是我的最后選擇。
從語義的角度來看, <ol>
是您的最佳選擇。 根據w3規范,您不應再使用type
屬性,而應使用CSS樣式:
http://www.w3.org/TR/html401/struct/lists.html#type-values
話雖如此, <ol>
+ CSS是“最佳”選項。 但是改用<ul>
可能是“最實用”的一種,以避免在您的特定情況下樣式化。
更新 :實際上,在HTML5中type
屬性再次被“棄用”:
這不是語義問題。 這是一個樣式問題。 從語義上講,您在做什么是正確的。 您具有按特定順序排列的元素列表,因此應使用<ol>
。 顯示的列表項目符號的類型是純粹的美學樣式選擇,與語義無關。
也許這里的問題確實是各章的非描述性名稱。 也許“第一章”比“描述本章的某些標題”更好
您是否正在使用“ css重置”? 可能正在重置默認的OL樣式。
嘗試將其添加到您的CSS:
ol { list-style-type: decimal; }
這樣構造HTML:
<ol>
<li>Chapter 1</li>
<li>Chapter 2</li>
</ol>
另外,請確保您的文檔類型設置正確。 概率。 應該使用HTML5,但還有其他選擇。
<!doctype html>
OL和UL之間的區別是“有序列表”和“無序列表”在適當時使用正確的列表。 如果您的列表中已經包含數字,則可能只想設置list-style-type:none; 在您的CSS中,但我仍然會使用OL。 我認為在這種情況下更正確。
您可以改為使用無序列表語義標記<ul>
。 使用此示例:
<ul>
<li>Chapter 1</li>
<li>Chapter 2</li>
<li>Chapter 3</li>
<li>Chapter 4</li>
</ul>
到底; 但是,您應始終使用CSS進行樣式設置。 除非您僅出於診斷目的或提供基本信息,否則您不太可能不需要對標記進行樣式設置。
從技術上講,要在語義上正確,應該保留<ol>
標記並使用CSS來實現所需的外觀,但這可能並不重要,具體取決於您的情況和意圖。
實際上, <ol>
表示要由瀏覽器編號的列表。 甚至W3C HTML規范都以這種方式使用它,無論他們在散文中說什么。 有關詳細信息,請查看我的論文HTML中ul和ol元素之間的區別 。 因此,如果您不想使用瀏覽器生成的編號,請不要使用<ol>
。
如果您也不希望使用瀏覽器生成的項目符號,那么<ul>
也不合適,盡管當項目中的內容中包含數字時,項目符號比生成的數字要少。 在這種情況下, <ul>
可能合適,但可能不是最佳選擇。
這將使您<div>
(如果需要)具有class
。 您可以將每個項目包裝在<div>
以使它們從新行開始,並且還可以將整個列表包裝在外部的<div>
如果樣式或腳本需要這樣做的話)。 在項目之間僅使用<br>
是另一種選擇,但是如果以后希望這樣做,則沒有方便的方式來對項目進行樣式設置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.