Non avevi specificato che la lista dovesse essere numerata! A quel punto le colonne (in caso di tabella) sono quattro.
E ricorda che non conviene mai forzare la semantica. Inserire una lista <dl> per un solo elemento non ha senso (semanticamente parlando). Comunque forzare la semantica porta spesso ad avere problemi di compatibilita` (in realta` sfrutti un oggetto che ha un suo proprio significato solo per fini di presentazione).
Quindi escludendo le tabelle (che non mi pare soddisfino i tuoi dati), resta la lista ordinata.
Ma dentro la lista devi metterci dei blocchi, altrimenti non riesci ad allineare:
codice:
<h2> con span </h2>
-
<span class="nome">Pippo</span>
<span class="dove">Topolinia</span>
<span class="col">Blu</span>
-
<span class="nome">Paperino</span>
<span class="dove">Paperopoli</span>
<span class="col">Rosso</span>
-
<span class="nome">Tip</span>
<span class="dove">xxxx</span>
<span class="col">Verde</span>
Nota i nomi "semantici" delle classi.
Ho aggiunto la classe attorno al nome, altrimenti non riesco a dare la larghezza al pezzo del nome.
CSS:
codice:
#conspan {
width: ...; /* va definito in qualche modo */
...
list-style: ...; /* se serve */
line-height: ...; /* se serve per centrare in vert. */
}
#conspan li {
width: 100%; /* largo quanto il [list=1] */
padding: 0;
margin: 0 0 0 1.3em;
clear: left; /* altrimenti non va a capo */
}
#conspan span {
display: block;
float: left;
/* display: inline; /* potrebbe servire per sistemare i margini in qualche IE */
}
#conspan .nome {
width: 30%; /* o altra unita` di misura */
}
#conspan .dove {
width: 30%; /* o altra unita` di misura */
}
#conspan .col {
width: 30%; /* o altra unita` di misura */
}