2012-10-04 14 views
5

Non sono sicuro di aver compreso la logistica di questo. Fondamentalmente ho voluto fare un semplice elenco su un blog web che assomiglia:Come avere correttamente ordinati gli elenchi ordinati

1. item1 
    a. item2 
2. item3 
    a. item4 
    b. item5 
3. item6 

E così via, in pratica un elenco principale ordinato numericamente, con le liste bambino di età inferiore ogni elemento master che sono lower-alpha ordinato.

ho raggiunto questo effetto utilizzando questo codice HTML:

<ol> 
    <li>item1</li> 
    <ol> 
     <li>item2</li> 
    </ol> 
    <li>item3</li> 
    <ol> 
     <li>item4</li> 
     <li>item5</li> 
    </ol> 
    <li>item6</li> 
</ol> 

Con questa piccola regola CSS:

ol ol { list-style-type: lower-alpha; } /* sub ordered lists */ 

Questo problema che avevo era che, secondo il validatore del W3C:

Elemento ol non ammesso come figlio dell'elemento ol in questo contesto.

penso che questo problema dovrebbe avere una soluzione molto semplice, non ero in grado di trovare uno, e non sono sicuro io seguo perché ol non può essere figlio di ol.

risposta

10

lo si fa in questo modo:

<ol> 
    <li>item1 
     <ol> 
      <li>item2</li> 
     </ol> 
    </li> 
</ol> 

è necessario mettere sottolista all'interno la voce di elenco per il livello superiore.

+0

Non importa, ora ce l'ho, dentro! Grazie – user17753

0

Penso che il vostro ol ha bisogno di essere in un li:

<ol> 
    <li>item1</li> 
    <li> 
     <ol> 
      <li>item2</li> 
     </ol> 
    </li> 
</ol> 
+0

Ho letto per primo questo e sono confuso, deve essere all'interno del 'li' di item1 per ottenere la presentazione desiderata. – user17753

4

Ci sono diversi modi per controllare la vostra lista sub-ordinata, sia con i CSS o HTML. È quasi stavano ottenendo l'effetto desiderato, per ottenere qualcosa di simile:

1. item1 
    a. item2 
2. item3 
    a. item4 
    b. item5 
3. item6 

tuo HTML dovrebbe apparire come segue:

<ol> 
    <li>item1 
     <ol> 
      <li>item2</li> 
     </ol> 
    </li> 
    <li>item3 
     <ol> 
      <li>item4</li> 
      <li>item5</li> 
     </ol> 
    </li> 
    <li>item6</li> 
</ol> 

E il CSS dovrebbe essere simile a questo:

ol li{ list-style-type:decimal; } /* sub ordered lists level 1 */ 
ol li ol li { list-style-type: lower-alpha; } /* sub ordered lists level 2 */ 

Puoi anche read more about a similar question here

Problemi correlati