这是一个有点愚蠢的问题,但我应该使用哪些标记用于已有数字的有序列表?我目前正在使用<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>
的样式是我的最后选择。
答案 0 :(得分:2)
<ol>
是你最好的选择。根据w3规范,您不应再使用type
属性,而应使用CSS样式:
http://www.w3.org/TR/html401/struct/lists.html#type-values
话虽如此,<ol>
+ CSS是“最佳”选项。但是,使用<ul>
代替可能是“最实用”的,以避免在特定情况下使用样式。
更新:实际上,HTML5中的type
属性再次“未弃用”:
答案 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>
是另一种选择,但如果您以后希望这样做,则没有方便的方式来设置项目。