2012-01-17 19 views
7

fanno riferimento a questo violino: http://jsfiddle.net/exGnZ/Girando una lista non ordinata in una tabella di contenuti

Ciao, sto cercando di riprodurre una tabella dei contenuti, con una lista non ordinata e puntini leader. Sfortunatamente, quando c'è una lunga fila di contenuti, la formattazione si interrompe. Qualcuno sa come ottenere il Capitolo 2 nell'immagine qui sotto per apparire sulla stessa riga dei punti?

enter image description here

Ecco il codice che ho in questo momento: http://jsfiddle.net/exGnZ/

Sto anche incollandolo qui:

<div> 
    <ul id="toc"> 
    <li><span>Introduction</span> <a href="#">Chapter 1</a></li> 
    <li><span> Storm clouds looming Storm clouds looming Storm clouds looming Storm clouds looming Storm clouds looming</span> <a href="#">Chapter 2</a></li> 
    <li><span>Sun breaks</span> <a href="#">Chapter 3</a></li> 
    <li><span>Lost and confused</span> <a href="#">Chapter 4</a></li> 
    <li><span>The pot of gold</span> <a href="#">Chapter 5</a></li> 
    <li><span>Nom nom nom</span> <a href="#">Chapter 6</a></li> 
    </ul></div> 

E il CSS:

div {padding:10px;} 
    #toc { 
     list-style: none; 
     margin-bottom: 20px; 
    } 
    #toc li { 
     background: url(http://5thirtyone.com/sandbox/share/toc/dot.gif) repeat-x bottom left; 
     overflow: hidden; 
     padding-bottom: 2px; 
    } 
    #toc a, 
    #toc span { 
     display: inline-block; 
     background: #fff; 
     position: relative; 
     bottom: -4px; 
    } 
    #toc a { 
     float: right; 
     padding: 0 0 3px 2px; 
    } 
    #toc span { 
     float: left; 
     padding: 0 2px 3px 0; 
    } 

risposta

3

ne dite di questo: http://jsfiddle.net/exGnZ/40/

meglio che ho potuto gestire nel tempo che ho avuto.

+0

Ottima soluzione. L'unica cosa che vorrei poter cambiare è che il testo sul lato sinistro non è sottolineato, ma penso che questo sia il più vicino possibile con i browser correnti ... Selezionandolo come risposta. – Fred

+0

L'ho notato. Se avessi avuto un po 'più di tempo, sono sicuro che potrei inventarmi qualcosa. Un po 'impegnato al momento però. Ti posterò più tardi se mi viene in mente qualcosa. – Deadlykipper

+0

Ehi, un'estensione extra (che non è a livello di blocco) risolve il problema. Un intervallo di blocco in linea imposterà la larghezza e uno (l'intervallo di livello non di blocco) può essere utilizzato per impostare lo sfondo bianco. Grazie per l'aiuto! – Fred

3

Ecco il mio tentativo: JSFiddle

L'unico lato negativo di questa tecnica è che richiede una larghezza fissa sul lato destro (100 pixel, in questo caso) per funzionare, ma è un compromesso minore.

+0

Ottima soluzione. Ho notato che IE7 avrebbe avuto bisogno di un trucco, anche se per ottenere punti sulla stessa linea ... – Fred

+0

Capovolgere la posizione del 'span' e il tag' a' nel codice risolverebbe il bug di IE7, senza alcuno hack. –

+0

Quando ho provato a capovolgere l'ordine, ho finito con i problemi di layout in FF ... – Fred

2

Il mio valore di due penny è here.

Ho usato il posizionamento relativo anziché i float e aggiunto uno pseudo elemento dopo gli span per evitare la sovrapposizione (?) Dei collegamenti se la larghezza dell'ul è ridotta.

Problemi correlati