2

如果我有一个给定月份发生的事件列表,例如:

十月活动:

10 月 8 日 - 社区舞会 10 月 9 日 - 卡拉 OK 之夜 10 月 10 日 - 碰碰运气

最好的编码方式是什么——使用 UL、OL 或其他方式?

无序列表

<h3>October Events</h3>

<ul>
   <li>Oct. 8 - Community Dance</li>
   <li>Oct. 9 - Karaoke Night</li>
   <li>Oct. 10 - Potluck</li>
</ul>

有序列表

<h3>October Events</h3>

<ol>
   <li>Oct. 8 - Community Dance</li>
   <li>Oct. 9 - Karaoke Night</li>
   <li>Oct. 10 - Potluck</li>
</ol>

如果我要包含一个描述,那会改变你看待它的方式吗?通过描述,我可能会这样:

<h3>October Events</h3>

<article>
   <h4>Community Dance</h4>
   <p class="date">Oct. 8</p>
   <p>Description</p>
</article>

<article>
   <h4>Karaoke Night</h4>
   <p class="date">Oct. 9</p>
   <p>Description</p>
</article>

<article>
   <h4>Potluck</h4>
   <p class="date">Oct. 10</p>
   <p>Description</p>
</article>

那么,考虑到 Web 标准,编写事件列表的最语义化方式是什么?

4

2 回答 2

5

基于 W3C Wiki ( http://www.w3.org/wiki/HTML_lists ):

在尝试决定使用哪种类型的列表时,您通常可以通过问两个简单的问题来决定:

  1. 我是在定义术语还是关联其他名称/值对?
    • 如果是,请使用描述列表。
    • 如果不是,不要使用描述列表——继续下一个问题。
  2. 列表项的顺序重要吗?
    • 如果是,请使用有序列表。
    • 如果不是,请使用无序列表。

在这里你应该使用:

<dl>
  <dt>Oct. 8</dt>
  <dd>Community Dance</dd>
  <dt>Oct. 9</dt>
  <dd>Karaoke Night</dd>
  <dt>Oct. 10</dt>
  <dd>Potluck</dd>
</dl>
于 2012-10-08T17:24:27.383 回答
0

这取决于您对“网络标准”和“语义”的定义。在旧意义上,“语义”是指意义,而这个问题实际上是关于结构的。使用ol, ul, dl,tablediv其他东西并不能真正说明意义

务实的问题是:当您的所有 CSS 设置都被忽略时,您希望如何显示数据。这似乎需要一个表,它也是结构最充分的标记(一列中的日期,另一列中的事件名称),并且它也是可扩展的(如果需要,您可以添加新列,例如用于活动地点)。

于 2012-10-08T17:49:10.653 回答