HTML - 带有数字的有序列表的标记?

时间:2012-01-28 15:46:40

标签: html semantic-markup

这是一个有点愚蠢的问题,但我应该使用哪些标记用于已有数字的有序列表?我目前正在使用<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>的样式是我的最后选择。

5 个答案:

答案 0 :(得分:2)

从语义的角度来看,

<ol>是你最好的选择。根据w3规范,您不应再使用type属性,而应使用CSS样式:

http://www.w3.org/TR/html401/struct/lists.html#type-values

话虽如此,<ol> + CSS是“最佳”选项。但是,使用<ul>代替可能是“最实用”的,以避免在特定情况下使用样式。

更新:实际上,HTML5中的type属性再次“未弃用”:

http://dev.w3.org/html5/markup/ol.html

答案 1 :(得分:2)

这不是语义问题;这是造型问题。在语义上你正在做的是正确的。您有一个按特定顺序排列的元素列表,因此您应该使用<ol>。显示的列表子弹的类型是纯粹的美学样式选择,与语义无关。

这里的问题可能实际上是章节的非描述性名称。也许“第1章”会比“描述章节的一些标题”更好“

答案 2 :(得分:0)

您使用'css reset'吗?它可能正在重置默认的OL样式。

尝试将此添加到您的css:

ol { list-style-type: decimal; }

像这样构建你的HTML:

<ol>
   <li>Chapter 1</li>
   <li>Chapter 2</li>
</ol>

还要确保您的doctype已正确设置。概率。应该使用HTML5,但还有其他选择。

<!doctype html>

OL和UL之间的区别是“有序列表”和“无序列表”在适当时使用正确的列表。如果您的列表已包含数字,您可能只想设置list-style-type:none;在你的CSS中,但我仍然会使用OL。在这种情况下,我认为更正确。

答案 3 :(得分:0)

您可以使用无序列表语义标记<ul>;使用此示例:

<ul>
    <li>Chapter 1</li>
    <li>Chapter 2</li>
    <li>Chapter 3</li>
    <li>Chapter 4</li>
</ul>

最后;但是,您应该始终使用CSS进行样式设置。除非它仅用于诊断目的或提供基本信息,否则您不太可能不需要设置标记样式。

从技术上讲,为了保持语义正确,您应该保留<ol>标记并使用CSS来实现您想要的外观,但这可能并不重要,具体取决于您的情况和意图。

答案 4 :(得分:0)

实际上,<ol>表示浏览器要编号的列表;即使W3C HTML规范也以这种方式使用它,无论他们在散文中怎么说。有关详细信息,请查看我的论文The difference between ul and ol elements in HTML。因此,如果您不想使用浏览器生成的编号,请不要使用<ol>

如果您不想要浏览器生成的项目符号,<ul>也不适合,但是当项目的内容中包含数字时,项目符号会比生成的项目更奇怪。在这种情况下,<ul>可能是合适的,但可能不是最佳的。

如果需要,这会留下<div>class。您可以将每个项目包装在<div>中以使它们从一个新行开始,如果需要样式或脚本,您还可以将整个列表包装在外部<div>中。在项目之间仅使用<br>是另一种选择,但如果您以后希望这样做,则没有方便的方式来设置项目。