Css 计数器标识符为“的奇怪浏览器行为”;列表项“;

Css 计数器标识符为“的奇怪浏览器行为”;列表项“;,css,css-counter,Css,Css Counter,TL;DR 不要命名您的计数器列表项 问题: CSS计数器相对来说比较容易理解,也很好用 然而,我在他们身上遇到了我不理解的意外行为,我想知道为什么会发生这种情况。可能只是浏览器中的bug 在以下示例中,我们可以看到计数器按预期工作: ol{ 列表样式类型:无; 计数器复位:列表计数器; } ol>li{ 计数器增量:列表计数器; } 李:以前{ 内容:计数器(列表计数器)'; } n n n n n n n n n 加布里埃尔·彼得里奥利猜对了列表项是中定义的内置计数器,其描述如下: [

TL;DR

不要命名您的计数器
列表项


问题:

CSS计数器相对来说比较容易理解,也很好用

然而,我在他们身上遇到了我不理解的意外行为,我想知道为什么会发生这种情况。可能只是浏览器中的bug

在以下示例中,我们可以看到计数器按预期工作:

ol{
列表样式类型:无;
计数器复位:列表计数器;
}
ol>li{
计数器增量:列表计数器;
}
李:以前{
内容:计数器(列表计数器)';
}

  • n
  • n
  • n
  • n
  • n
  • n
  • n
  • n
  • n

  • 加布里埃尔·彼得里奥利猜对了<代码>列表项是中定义的内置计数器,其描述如下:

    […]列表项自动递增特殊的“列表项”计数器。除非“计数器增量”属性手动为“列表项”计数器指定不同的增量,否则每个列表项上的计数器增量必须为1,同时计数器通常会递增。(这对“counter-*”属性的值没有影响。)

    该计数器未在CSS2中定义,因此是css-lists-3中的新计数器。但它实际上非常古老,可以追溯到CSS3规范的FPWD。总的来说,列表和计数器样式在CSS3中得到了显著的升级,这意味着“CSS计数器相对容易理解,有很好的文档记录,并且有很好的浏览器支持”的说法可能会随着新规范的最终确定和采用而暂时失效;)我不确定是先实现还是先规范,但可能是先添加了实现,因为当时几乎没有人使用
    列表项
    作为计数器(2002年,当IE6还是全新的时候,CSS2的采用还远远没有普及)

    尽管该特性已经在规范中使用了十多年,但它本身仍然是一个不可替代的特性,互操作性还不被期望。在任何情况下,你的建议都是正确的:不要给你的计数器命名
    列表项
    。事实上,它是计数器的一个特殊关键字值,由于前面提到的互操作问题,在authorcss中使用它时会产生意外的结果


    请记住,W3CWiki不是“W3C规范”,即使它是由W3C维护的。规范是工作草案、候选建议、提议的建议和建议,可在w3.org中找到,或在dev.w3.org中找到,或在各工作组决定主持其EDs的地方找到。属性的wiki页面通常不包含实际规范中存在的任何技术细节,因此,如果您只看一下,就会错过很多细节。

    有趣的是,它可能是
    ol
    内部使用的计数器的默认名称,无法找到潜在的重复项。。我会叫主人的@加布里埃尔·彼得里奥利:你是对的;看看我的答案。谢谢,这让我发疯了!