对于都有年份的投资组合项目列表,我假设有序列表是语义上的方法,因为它是按年份排序的列表。但是,我不希望该值是从 1 开始的数字,而是创建该项目的年份。为了达到这个结果,我写了以下内容。
<ol>
<li value="2015">Last made item</li>
<li value="2015">Item before that</li>
<li value="2014">Earliest item</li>
</ol>
但是,这个
- 颠倒
<ol>
的自然顺序的; - 多次使用同一标记;
所以我认为这并不是实现这一目标的最佳方法。所以我想知道:
- 您对如何改进这一点有什么建议吗?
- 还有其他理由不应该这样做吗?
编辑:请注意列表已排序,但我希望标记是创建项目的年份。使用前面提到的方法会发生这种情况(也请参见 this Fiddle ),但我怀疑这在语义上是最好的方法。
最佳答案
1。您对如何改进这一点有什么建议吗?
替代方案A
一个好的替代方案是这样的结构:
<article>
<time datetime="2015">2015</time>
<h1>Last made item</h1>
<p>Description</p>
</article>
<article>
<time datetime="2015">2015</time>
<h1>Item before that</h1>
<p>Description</p>
</article>
<!-- etc. -->
这假设列表中的项目可以表示为“内容的独立项目”( W3C specification )和投资组合项目(我的问题中的项目类型)满足本规范。
替代方案B
<ol>
<li>
<time datetime="2015">2015</time> Last made item
</li>
<li>
<time datetime="2015">2015</time> Item before that
</li>
<!-- etc. -->
</ol>
如果需要,您可以使用 CSS 删除标记。感谢TotempaaltJ对于这个替代方案。
无论哪种方式,年份现在都是机器可读的时间,请参阅 MDN .
This element is intended to be used presenting dates and times in a machine readable format. This can be helpful for user agents to offer any event scheduling for user's calendar.
阅读Bruce Lawson's post on the time
tag看到这个datetime
符号有效/被允许。
Now, “fuzzy dates” are possible:
<time datetime="1905">
means the year 1905
2。还有其他理由不应该这样做吗?
当使用<li value="year">
时你失去了这个数字作为一年的意义。
其他想法
@Michael_B's answer让我更深入地了解了<ol>
的含义和<ul>
和@tibzon gave an example与 reversed
有序列表的属性,请参阅his fiddle .
关于html - 在有序列表中使用年份是否有比 value 属性更好的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31662740/