我试图弄清楚如何创建目前针对IE6和IE7的递增有序列表。
E.G。它应该呈现如下所示:
1.0
1.1
1.2
1.3
2.0
2.1
2.2
根据我的理解,可以在CSS中使用以下内容创建:
UL, OL { counter-reset: item; }
LI { display: block }
LI:before { content: counters(item, "."); counter-increment: item }
然而,当然,IE6和IE7不支持这一点。
有哪些选项可用于在IE6 / 7中创建正确的递增列表?我不得不对此进行硬编码。不幸的是,使用JavaScript不是一种选择。
是否有针对较新浏览器的更新方法?
答案 0 :(得分:1)
XSLT(包括XSLT 1.0)可以使用<xsl:number>
生成多级编号序列。
答案 1 :(得分:1)
这是一个仅限CSS的解决方案(应该适用于IE8及更高版本):
<ol>
<li>
Heading
<ol>
<li>list</li>
<li>list</li>
</ol>
</li>
<li>
Heading
<ol>
<li>list</li>
<li>list</li>
</ol>
</li>
</ol>
ol{
list-style-position:inside;
list-style-type: none;
counter-reset:mainNum;
}
ol li:before{
content: counter(mainNum) ".0";
counter-increment:mainNum;
}
ol ol{
counter-reset:item;
}
ol ol li{
list-style-type:none
}
ol ol li:before{
content: counter(mainNum) "." counter(item) " ";
counter-increment:item;
}
答案 2 :(得分:0)
如果javascript不是一个选项(因此我也假设没有闪存),我很遗憾地说你没有选择客户端解决方案。如果您有一个生成HTML的服务器端脚本,您可以将订单推送到服务器,并使用CSS作为无子弹的无序列表在客户端上设置输出样式。 IE6是你的限制因素,并没有很多方法可以解决这个问题。很抱歉成为坏消息的承担者。
答案 3 :(得分:0)
如果JavaScript不是一个选项,您将不得不在服务器端硬编码/实现它。
积极的一面是:它可以立即用于其他功能较弱的用户代理/设备(想想黑莓浏览器等)。