2012-02-29 10 views
7

Ok, quindi pensavo di averlo risolto usando lo spazio bianco: no-wrap funzionava in chrome ma nient'altro.crea una singola riga di div con barre di scorrimento orizzontali

ho qualcosa di simile a questo:

<div class="outer"> 
    <ul> 

     <li> 
      <div class="inner"> 
      <a href="#"><img src="eg1.jpg" /></a> 
      <br /> 
      EG1 lorem ipsum 
      </div> 
     </li> 

     <li> 
      <div class="inner"> 
      <a href="#"><img src="eg2.jpg" /></a> 
      <br /> 
      EG2 lorem ipsum 
      </div> 
     </li> 
. 
. 
. 
//etc (multiple li's) 

</ul> 

</div> 

scusa l'immagine veramente poveri, ma questo è il im EFF puntando.

Voglio una singola riga di "elementi" se superano lo spazio quindi dovrebbero apparire le barre di scorrimento orizzontale.

speranza che abbia senso, come posso ottenere questo?

+0

Sembra una giostra per me. Hai guardato i widget di carousel offerti da jQuery e YUI? – Zoidberg

+0

@Zoidberb, stavo guardando un paio di caroussls, ma non riuscivo a trovarne uno che gestisse il contenuto - cioè testo e immagini in questo formato con confusione minimale – raklos

+0

Controlla questo http://developer.yahoo.com/yui/examples/carousel/ csl_imagentext_source.html – Zoidberg

risposta

12

scrittura come questo:

.outer{ 
    width:400px; 
    overflow:auto; 
    white-space:nowrap; 
} 
.outer li{ 
    display: inline-block; 
    *display: inline;/*For IE7*/ 
    *zoom:1;/*For IE7*/ 
    vertical-align:top; 
    width:40px; 
    margin-right:20px; 
    background:red; 
    white-space:normal; 
} 

Scegli questa http://jsfiddle.net/ZrpHv/

0

Beh, so che ogni webdeveloper buono e purista mi odierà (e mi odio quando pubblico qualcosa del genere) ma puoi semplicemente usare la tabella per farlo.

funziona su tutti i browser. Sì, non è standard, no non è CSS. Ma ... la produttività è talvolta migliore dello standard.

È anche possibile utilizzare una larghezza di divisione fissa per il contenitore (ul). e utilizzare float posizione lasciato per tutti i tuoi figli

0

Hai bisogno di mettere un enorme div orizzontale all'interno del div genitore con overflow: auto; Ciò consentirà di fluttuare a sinistra senza spostarsi alla riga successiva, e si farà scorrere solo quando il confine della div principale è attraversato.

1

è necessario impostare la larghezza si div.inner a qualcosa di assoluto, come 64px e rendere il vostro li s float a destra oa sinistra e quindi impostare la proprietà overflow-x del div genitore a auto. controlla questo fiddle

Problemi correlati