CSS2能自动地产生某些内容。例如,可使用样式单来创建这样的一个大纲:使用不同的编号系统对大纲的每个层次进行适当的缩进。counter-increment属性使计数器(counter)加1。content属性使用counter(id)或counter(id, list-style-type)函数作为值,插入指定计数器的当前值。最后,counter-reset属性将计数器设置归0。例如,假定从1开始要对诗中的每个VERSE进行计数,但在每个新的STANZA和REFRAIN中重新计数。可使用下面的规则达到此目的:VERSE { counter-increment: verse-num }STANZA { counter-reset: verse-num }REFRAIN { counter-reset: verse-num }VERSE:before { content: counter(verse-num) }可在counter-reset中的计数器名后,指定重设的整数,就可以重新将计数器设回到非0的数。例如,下面的规则将计数器设回到-10:VERSE { counter-reset: verse-num –10 }在counter-increment中的计数器名后,指定非1的整数作为递增量。例如,VERSE { counter-increment: verse-num –1 }最后,content属性可有不止一个计数器以及附加内容及其计数器。例如,下面的这些规则以1.1,1.2,1.3,...,2.1,2.2,2.3,...的形式对诗进行编号,第一编号表示节,第二个编号为诗句:VERSE {counter-increment: verse-num }STANZA {counter-reset: verse-num }STANZA {counter-increment: stanza-num }REFRAIN {counter-reset: verse-num }REFRAIN {counter-reset: stanza-num 0 }VERSE:before {content:counter(stanza-num) "." counter(verse-num)还可以使用非欧洲数字。counter()函数的第二个参数可用来指定不同的数字格式。现有的格式有disc、circle、square、decimal、decimal-leading-zero、lower-roman、upper-roman、lower-greek、lower-alpha、lower-latin、upper-alpha、upper-latin、hebrew、armenian、georgian、cjk-ideographic、hiragana、katakana、hiragana-iroha和katakana-iroha。例如,使用平假名的日文数字来对诗进行编号,可以这样编写:VERSE:before {content: counter(stanza-num, hiragana)"." counter(verse-num, hiragana) }
计数器和自动编号 |