2014-11-05 55 views
8

我想有自動有序列表樣式化基礎上的水平,例如:遞歸符號樣式有序列表

1. Item 
    a. Item 
    i. Item 
     1. Item 
     a. Item 
      i. Item 
      ... 

正如你可以看到它是重複此順序:number > letter > roman numeral

我可以通過CSS來做到這一點,因爲

ol { 
    list-style-type:decimal; 
} 
ol > li > ol { 
    list-style-type:lower-alpha; 
} 
ol > li > ol > li > ol { 
    list-style-type:lower-roman; 
} 
ol > li > ol > li > ol > li > ol { 
    list-style-type:decimal; 
} 
... 

但這很乏味,我不知道我需要多少級別。

有通過CSS做到這一點的更清潔的方式嗎?

我要指出,我做這個樣式了一個HTML編輯器和生成的HTML具有這個非常基本結構:

<ol> 
    <li> 
    <ol> 
     <li> 
     .. 

人,我沒有HTML的控制,我不能添加類對它或任何東西。

+0

難道[所有這些解決方案(http://stackoverflow.com/questions/1852816/nested-ordered-lists)工作爲你? – admdrew 2014-11-05 17:45:49

+0

@adm看起來像OP想要純CSS。 – nicael 2014-11-05 17:46:20

+2

@admdrew最好是一個CSS唯一的解決方案。沒有SASS或LESS。 – Katie 2014-11-05 17:48:51

回答

3

這不是最漂亮的解決方案,但我們已經決定與此一去,現在:
感謝@Vucko的建議,我們並不需要直接子選擇

ol, 
ol ol ol ol, 
ol ol ol ol ol ol ol { 
    list-style-type:decimal; 
} 
ol ol, 
ol ol ol ol ol, 
ol ol ol ol ol ol ol ol { 
    list-style-type:lower-alpha; 
} 
ol ol ol, 
ol ol ol ol ol ol, 
ol ol ol ol ol ol ol ol ol { 
    list-style-type:lower-roman; 
} 

這顯然只能運行到第9級,但我們認爲任何列表都不會在我們的場景中深入。

如果僅僅有某種:nth-level()選擇的...

+2

ololololol ...是的,像第n級應該是:D – nicael 2014-11-05 18:35:26