更改有序列表上的编号?

nic*_*ckf 18 html javascript css

您可以更改有序列表的开头数,如下所示:

<ol start="3">
    <li>item three</li>
    <li>item four</li>
</ol>
Run Code Online (Sandbox Code Playgroud)

...但有没有办法让列表项具有任意数字,而不仅仅是连续编号?

<ol>
    <li>item two</li>
    <li>item six</li>
    <li>item nine</li>
</ol>
Run Code Online (Sandbox Code Playgroud)

我现在能看到的唯一方法是将每个包装<li>在自己的中<ol>,这显然不是理想的.欢迎使用HTML,Javascript和CSS解决方案.

ps:虽然项目编号是任意的,但仍然是有序的,所以不要担心语义

Aak*_*shM 18

HTML 4.01中,有一个不推荐使用的value属性<li>:

<ol>
<li value="30"> makes this list item number 30.
<li value="40"> makes this list item number 40.
<li> makes this list item number 41.
</ol>
Run Code Online (Sandbox Code Playgroud)

非弃用(CSS)答案(经常)更优雅,但更少...直接:) 规格有点干; 谷歌搜索变成了更多立即可用的东西,如:

就像继续上一个列表中的编号一样,您需要设置CSS属性以增加正确的计数器.但是要使它从不同的起点开始递增,您可以在数字的counter-reset属性中传递可选的第二个参数.所以从5开始在CSS中看起来像这样:

ol.continue {
  counter-reset: chapter 4;     /* Resets counter to 4. */
}
Run Code Online (Sandbox Code Playgroud)

由于计数器将在递增之前始终复位,因此要使用数字5启动我们的列表,我们必须将计数器设置为4.

  • HTML5实际上允许再次使用@value,因为它实际上不是表示属性. (7认同)
  • 以下是HTML5文档的链接:http://www.w3.org/TR/html-markup/li.html (2认同)

Jon*_*eet 13

value属性li,虽然已被弃用:

<ol>
    <li value="2">item two</li>
    <li value="6">item six</li>
    <li value="9">item nine</li>
</ol>
Run Code Online (Sandbox Code Playgroud)

用于W3Schools的网页<li.@value>说:

li元素的value属性在HTML 4.01中已弃用,在XHTML 1.0 Strict DTD中不受支持.

注意:目前,value属性没有CSS替代方案.

(尽管在<li>主页上对"弃用警告"说"使用样式" .)

HTML 5编辑器的参考草案li表明,它仍然是有效的有...

  • 是的,`value`仍然存在,并且在HTML5中也不再弃用. (4认同)

Ben*_*jol 6

看着所有这些答案让我觉得有点icky.你真的真的想用LI吗?如果它意味着创建'虚拟'lis,或javascript,或自定义CSS类,我会开始寻找其他可能性.李(在我看来)的观点并不是自己管理编号.如果你必须自己管理数字,那么你只使用LI来管理风格 - 如何创建自己的风格,只是将数字放在<span>或其他东西?