2009-06-05 2 views
13

In html/css posso raggiungere questo obiettivo?HTML/CSS Outline numerazione

1. 
1.1 
1.2 
2. 
2.1 
2.2 

utilizzando tag LI e UL?

+0

Possibile duplicato di [L'elenco ordinato può produrre risultati simili a 1.1, 1.2, 1.3 (anziché solo 1, 2, 3, ...) con css?] (Https://stackoverflow.com/questions/4098195/can-ordinata-list-produce-risultato-che-guarda-come-1-1-1-2-1-3-posto-di-just-1) –

risposta

7

Non c'è modo cross-browser di farlo.

Il meglio che si può ottenere è annidato elenchi ordinati:

<ol> 
    <li>Item 1 
     <ol> 
      <li>Subitem 1</li> 
     </ol> 
    </li> 
</ol> 

e poi lo stile di ogni lista annidata di avere un diverso tipo:

ol { 
    list-style-type: upper-roman; 
} 
ol ol { 
    list-style-type: decimal; 
} 

Spero che questo aiuti!

1

Considerare l'utilizzo di DL/DT/DD anziché OL/UL e codificare i valori nel DT.

1

CSS 2.1 fornisce contatori definibili dall'utente, che possono essere utilizzati per contare gli elementi. Combinato con le pseudo-classi: before e: after, puoi generare il valore del contatore per creare titoli numerati automaticamente.

Sfortunatamente, almeno Internet Explorer non supporta nulla di tutto ciò, anche nell'ultima versione. Ma almeno Firefox lo supporta molto bene, quindi se vuoi semplicemente aggiungerlo come un miglioramento che non rende il tuo sito inutilizzabile se non è supportato, puoi ancora usarlo.

11

Per CSS2 compatibile con il browser di è possibile utilizzare

ul { counter-reset:item; } 
ul > li { counter-increment:item; } 
ul > li:before {content: counter(item); } 

ul > li > ul { counter-reset:subitem; } 
ul > li > ul > li { counter-increment:subitem; } 
ul > li > ul > li:before { content: counter(item) "." counter(subitem); } 
-2

codice html:

<ul> 
    <li>1 </li>   
    <li>1.1</li>  
    <li>1.2</li>  
    <li>2 </li>     
    <li>2.1</li> 
    <li>2.2</li> 
</ul> 

codice CSS:

li { list-style:none; } 
0

Una linea di javascript farà questo. Utilizzato in una tabella dei contenuti:

<td class="session"> 
<script> 
{document.getElementsByClassName("session")[num].innerHTML = "1." + (++num);} 
</script> 
</td> 

num è una variabile globale nel documento inizializzato a zero in un luogo appropriato monte. Quanto sopra produce 1.1 in prima istanza. Passare a num ++ e ottenere 1.0.