2011-01-23 11 views
16

Sto provando a creare un elenco (UL) che viene visualizzato in orizzontale. Ogni oggetto ha delle imbottiture attorno ad esso. Il problema che sto avendo è che quando la lista arriva alla fine della riga e inizia a spostarsi alla riga successiva, non viene visualizzata sufficientemente bassa e inizia a sovrapporsi alla prima riga. Qualcuno può aiutarmi a capire come ottenere la confezione per andare alla riga successiva senza sovrapposizioni?Elenco orizzontale che si estende senza sovrapposizione

Ecco il CSS

.letterlist ul { 
    margin: 0; padding: 0; 
    list-style-type: none; list-style-image: none; 
} 

.letterlist li 
{ 
    display:inline; 
} 

.letterlist li a 
{ 
    margin: 4px; 
    color:#eee; 
    padding: 10px 20px; 
    background:#3c66ad; 
    font-size:16px; 
    font-weight: bold; 
    border-radius: 5px; 
} 

Ecco il codice HTML

<p> 
<ul class="letterlist"> 
    <li><a href="/list/A">A</a></li> 
    <li><a href="/list/B">B</a></li> 
    <li><a href="/list/C">C</a></li> 
    <li><a href="/list/D">D</a></li> 
    <li><a href="/list/E">E</a></li> 
    <li><a href="/list/F">F</a></li> 
    <li><a href="/list/G">G</a></li> 
    <li><a href="/list/H">H</a></li> 
    <li><a href="/list/I">I</a></li> 
    <li><a href="/list/J">J</a></li> 
    <li><a href="/list/K">K</a></li> 
    <li><a href="/list/L">L</a></li> 
    <li><a href="/list/M">M</a></li> 
    <li><a href="/list/N">N</a></li> 
    <li><a href="/list/O">O</a></li> 
    <li><a href="/list/P">P</a></li> 
    <li><a href="/list/Q">Q</a></li> 
    <li><a href="/list/R">R</a></li> 
    <li><a href="/list/S">S</a></li> 
    <li><a href="/list/T">T</a></li> 
    <li><a href="/list/U">U</a></li> 
    <li><a href="/list/V">V</a></li> 
    <li><a href="/list/W">W</a></li> 
    <li><a href="/list/X">X</a></li> 
    <li><a href="/list/Y">Y</a></li> 
    <li><a href="/list/Z">Z</a></li> 
</ul> 
</p> 

sto usando CSS progetto se quello che conta.

+0

Quando lo metto in un editor e lo guardo in Firefox, non vedo il problema. In che browser stai visualizzando? (Inoltre, penso che tu intenda il primo stile per ul.letterlist - come .letterlist ul cerca un elemento ul che sia figlio di qualcosa con la classe .letterlist.) – Arkaaito

+0

Sto usando Chrome. Vedo lo stesso problema quando uso Firefox 3.6.8. – ajma

risposta

25

È possibile sia galleggiare tutti gli elementi li o dare loro display: inline-block, poi invia loro qualche margine superiore e inferiore:

.letterlist li { 
    float: left; 
     /* or */ 
    display: inline-block; 

    margin: 20px 0; 
} 

Vedi: http://www.jsfiddle.net/yijiang/z8Gfe/ per un semplice esempio. E a proposito, gli elementi ul non sono validi in p paragrafi

+1

Il display: blocco in linea; piuttosto che display: inline; risolto il problema con gli elementi della lista che traboccavano dai limiti dell'elenco. Grazie! –

+0

grazie - quattro anni dopo quasi il giorno! +1 –

Problemi correlati