我无法理解为什么有些计数器有效,而有些则无效。在以下 HTML 中,目标是使用 cnt3 样式创建使用 <h3> 的目录列表,以匹配后续的 <h2> 标头。我希望目录中的编号与 <h2> 标题的编号相匹配。而且我正在尝试使用 CSS 计数器来做到这一点,而且大多数情况下它正在工作,但似乎我的目录的 h3s 计数器要么没有增加,要么经常重置,但我不知道为什么,我也没有弄清楚如何调试这个...... Mozilla Firebug 似乎告诉我反增量正在正确的地方使用,但它似乎对编号没有影响。显然,这是一个剥离的例子,只是为了演示这个问题,它出现在一个更大的文档中。
HTML
<h1>H1 Title</h1>
<h2>H2 Title</h2>
<h3 class="cnt3">H3 1</h3>
<h3 class="cnt3">H3 2</h3>
<h3 class="cnt3">H3 3</h3>
<h2 class="cnt">H2 Title 2</h2>
<h3 class="top">H3 4</h3>
<h3 class="top">H3 5</h3>
<h3 class="top">H3 6</h3>
<h2 class="cnt">H2 Title 3</h2>
CSS
h1 {
counter-reset: h2s;
text-align: center;
font-size: 24pt;
}
h2 {
font-size: 20pt;
counter-reset: h3s;
counter-reset: h3t;
}
h3 {
font-size: 16pt;
counter-reset: h4t;
}
h2.cnt:before {
content: 'Section ' counter( h2s, decimal ) ': ';
counter-increment: h2s;
}
h3.cnt3:before {
content: 'Section ' counter( h3s, decimal ) ': ';
counter-increment: h3s;
}
h3.top:before {
font-size: 16pt;
content: counter( h2s, decimal ) '.' counter( h3t, decimal ) ': ';
counter-increment: h3t;
}
h4 { font-size: 13pt; }
h4.top:before {
font-size: 16pt;
content: counter( h2s, decimal ) '.' counter( h3t, decimal ) '.' counter( h4t, decimal ) ': ';
counter-increment: h4t;
}
问题发生在 Firefox 和 Chrome 中,所以我想这是我的代码,而不是两个浏览器中的相同错误!