20.3.5 编号嵌套
可以在大编号中嵌套中编号,在中编号中嵌套小编号。在代码清单20-7中,我们给出一个编号嵌套的示例,在该示例中,有两个大标题,每个大标题中又有三个中标题,使用编号嵌套的方式分别对大标题与中标题进行分层编号。
代码清单20-7 编号嵌套示例
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>编号嵌套示例</title>
</head>
<style type="text/css">
h1:before{
content: counter(mycounter) '. ';
}
h1{
counter-increment: mycounter;
}
h2:before{
content: counter(subcounter) '. ';
}
h2{
counter-increment: subcounter;
margin-left: 40px;
}
</style>
<body>
<h1>大标题</h1>
<h2>中标题</h2>
<h2>中标题</h2>
<h2>中标题</h2>
<h1>大标题</h1>
<h2>中标题</h2>
<h2>中标题</h2>
<h2>中标题</h2>
</body>
</html>
这段代码的运行结果如图20-11所示。
图20-11 编号嵌套示例
在这个示例中,六个中标题的编号是连续的,如果要将第二个大标题里的中标题重新开始编号的话,需要在大标题中使用counter-reset属性将中编号进行重置。
将代码清单20-7中h1元素的样式指定的代码修改成如下代码(添加counter-reset属性),然后重新运行该示例,运行结果如图20-12所示。
h1{
counter-increment: mycounter;
counter-reset: subcounter;
}
图20-12 重置中编号示例