2012-05-10 9 views
2

我需要在css幫助下生成這樣的輸出...帶括號的下羅馬列表需要

(i)需求是什麼? (ii)哪些細分市場?

(三)鑑於創新...

(四)鑑於在創新...

...等等。

請建議。

回答

4

您可以counter-increment財產.WRITE這樣實現這一點:

ul{ 
    counter-reset:item; 
    list-style:none; 
} 
li:before  { 
    content: "("counter(item, lower-roman) ")"; 
    counter-increment: item; 
} 

入住這http://jsfiddle.net/MEBxA/

這是工作,直到上述IE8 &。

+1

對於這種情況,標記應該是'ol'而不是'ul',因爲'ol'比'ul'(項目符號列表)給出更好的回退(通常編號列表)。 –

+0

這裏沒關係,因爲在這個OP想要的括號中還有較低的羅馬字體,如果他不想要括號,那麼OL很棒。 – sandeep

+1

咦?無論您選擇「ol」還是「ul」,括號都與之相關? – BoltClock

1

在一般情況下,當你想要的編號即以任何方式,可以簡單地通過使用list-style-type實現的編號方式不同,你有兩種基本選擇:

  1. 禁止默認與list-style: none編號和生成使用計數器的數字,生成的內容和:before僞元素(如在sandeep的答案中)。
  2. 將數字包含在內容中,儘可能使用服務器端技術來生成它們。要麼壓制ul的默認編號,要麼(稍安全一些)根本不使用ul標記。 div元素或table標記。

後一種方法最簡單的例子:

(i) What is the demand?<br> 
(ii) For what segment(s)?<br> 
… 

爲了使其易於樣式列表作爲一個整體,其項目和數量的渲染,最好是使用更詳細的標記,或許到這個:

<div class=ol> 
<div class=li><span class=num>(i)</span> What is the demand?</div> 
<div class=li><span class=num>(ii)</span> For what segment(s)?</div> 
… 
</div> 

(使用而不是div在最外層的標記將大大提高後備,即非CSS渲染,但它可能會導致ACCU )