在網(wǎng)頁設(shè)計中,創(chuàng)建計數(shù)器的基礎(chǔ)包栝兩個方面,一是能設(shè)置計數(shù)器的起點,二是能將其遞增一定的置。
前者由屬性counter-reset處理。
counter-reset
值:[<identifier><integer>?]+ | none | inherit
初始值:取決于具體的用戶代理
應用于:所有元素
繼承性:無
計算值:根據(jù)指定確定
計數(shù)器標識符只是創(chuàng)作人員創(chuàng)建的一個標簽。例如,可以將小節(jié)計數(shù)器命名為subsection, subsec, ss甚至bob,只要重置(或遞增)標識符,就足以使之建立。在以下規(guī)則中,計數(shù)器chapter就在重置時定義:
h1 {counter-reset: chapter;}
默認地,計數(shù)器重置為0。如果想重置為另一個數(shù),可以在標識符后面聲明這個數(shù)
h1#ch4 {counter-reset: chapter 4;}
還可以在標識符-整數(shù)對中一次重置多個標識符。如果少了一個整數(shù),則默認為0:
h1 {counter-reset: chapter 4 section -1 subsec figure 1;}
/*'subsec' is reset to 0 */
從上例可以看到,負值是允許的。將計數(shù)器設(shè)罝為-32768并由此遞增是完全合法的。
注意:如果采用非數(shù)值計數(shù)樣式,CSS沒有定義用戶代理對于負計數(shù)器值該如何處理。例如,如果一個計數(shù)器的值是-5,但是其顯示樣式是upper-alpha,此時該采取什么行為?對此就沒有定義。
總之,需要一個屬性來指示元素將計數(shù)器遞增。否則,計數(shù)器將永遠保持計數(shù)器重置聲
明中指定的值。毫無疑問,所需的這個屬性就是counter-increment。
counter-increment
值:[<identifier><integer>?]+ | none | inherit
初始值:取決于具體的用戶代理
應用于:所有元素
繼承性:無
計算值:根據(jù)指定確定
類似于counter-reset,counter-increment也接受標識符-整數(shù)對,其中整數(shù)部分可以是0,也可以是負數(shù)或正數(shù)。與counter-reset的區(qū)別在于,如果counter- increment:中的標識符-整數(shù)對少了一個整數(shù),則默認為1而不是0。
舉例來說,,以下顯示了在網(wǎng)頁設(shè)計時用戶代理如何定義計數(shù)器生成有序列表傳統(tǒng)的1、2、3計數(shù)。
ol {counter-reset: ordered;}/* defaults to 0 */
ol li {counter-increment: ordered;}/* defaults to 1 */
另一方面,在網(wǎng)頁設(shè)計時,創(chuàng)作人員可能希望從0向下計,使列表項使用一種漸進的負數(shù)體系,為此只獬稍作修改:
ol .{bounter-reset: ordered;}/* defaults to 0 */
ol li (counter-increment: ordered -1;}
列表的計數(shù)將是-1、-2、-3等等。如果將整數(shù)-1換成-2,列表的計數(shù)則是-2、-4、-6等等。