我在 css 'counter-increment' 和 'counter-reset' 属性上有点挣扎。我已经让它与列表完美配合,但是当涉及到标题标签时,对我来说事情变得不太清楚了。
想象一下以下布局:
<div id="root">
<div class="section">
<h1 class="header">Header</h1>
<div class="section">
<h2 class="header">Header</h2>
<!-- can be nested multiple times -- >
</div>
</div>
<div class="section">
<h1 class="header">Header</h1>
<!-- content -->
</div>
</div>
我希望对标题标签进行编号(包括嵌套计数!)但由于标题标签本身没有嵌入,但他们的父母我无法让它正常工作。所以这就是我到目前为止得到的(基于逻辑,但不是最接近我想要实现的解决方案!我尝试了我能想到的所有可能的组合)
#root
{
/* root should reset counter */
counter-reset: section_header;
}
#root .section
{
/* since every section has a header tag, we should count sections-divs, as they wrap children as well */
counter-increment: section_header;
}
.section .header::before
{
/* This would take care of the display, but I suspect it doesn't obtain the correct value since the scope of the counter is not available? */
content: counters(section_header, ".") " ";
}
我将不胜感激任何解决方案的方向(如果存在)。
附言。我应该提到我主要在 Chrome 上测试这个,但我在其他浏览器上也发现了这个。
编辑
我正在寻找的格式是“1.1”、“1.2”、“1.2.1”等。每个嵌套部分都应该附加另一个计数器层,尽管我可以在不分层(单深度)的情况下让它工作,动态多分层显然很难实现。