2013-08-29 8 views
5

Voglio posizionare le div uno vicino all'altro. Non conosco il numero di div, poiché questo viene creato e modificato dinamicamente. Mi piacerebbe avere un div genitore che avrà la barra di scorrimento nel caso in cui ci siano molte div child (e la loro larghezza è maggiore di genitore).Posiziona le div uno vicino all'altro a prescindere dalla larghezza genitore

Ecco il jsFiddle example. Quindi, fondamentalmente mi piacerebbe avere tutte queste tre colonne, una accanto all'altra e con la barra di scorrimento nella parte inferiore della divisione genitore.

HTML:

<div class="content"> 
    <div class="column">Column</div> 
    <div class="column">Column</div> 
    <div class="column">Column</div> 
</div> 

CSS:

content { 
    width: 100px; 
    background- color: #355E95; 
    overflow: visible; 
} 

.column { 
    width: 50px; 
    display: inline-block; 
} 

risposta

9

Aggiungi white-space:nowrap al div genitore.

FIDDLE

+0

Credo che questa sia la risposta giusta, penso di poter leggere la domanda pensando di aver bisogno di più di 1 riga –

+0

Mille grazie, questo è ciò di cui avevo bisogno! – Ned

+0

Prego :) – Danield

0

Fiddle: http://jsfiddle.net/bdssw/

uso float:left;

.column { 
    width: 50px; 
    display: inline-block; 
    float:left; 
} 
+0

sì, ma questo mi dà due colonne, una accanto all'altra, vorrei avere tutti e tre, e barra di scorrimento per scorrere per le div che non sono visibili. È possibile? – Ned

+0

È perché la larghezza del contenuto è impostata su 100px; se è al 100%, possiamo posizionare le div vicino a ciascuna. @nedeljko –

+0

Ok, capisco. Ma il fatto è che ho fissato la larghezza di quella parte genitore, e voglio essere in grado di aggiungere div al suo interno e mostrare la barra di scorrimento se la larghezza delle div aggiunte è maggiore del genitore stesso. È possibile? – Ned

-1

uso width:auto;

.content { 
    width: auto; 
    background-color: #355E95; 
    overflow:scrolling; 
    position:fixed; 
} 

.column { 
    width: 50px; 
    float:left; 
} 

http://jsfiddle.net/XqSJG/6/

+0

Perché il voto negativo per un contributo valido? – SaturnsEye

1

Lei avrebbe bisogno di utilizzare un div contenuto per il libro e poi un wrapper per le colonne, regolare la larghezza dell'involucro per adattarsi a tutti e 3 le colonne (150 px nel tuo esempio).

La struttura della colonna è composta da una virgola flottante sinistra, ma fluttua alla larghezza del contenitore genitore, in questo caso il contenitore genitore è solo di 100 px, quindi è necessario aggiungere un wrapper per adattarlo all'interno.

Se si desidera anche uno scorrimento verticale, è necessario impostare un'altezza per il contenitore.

Jsfiddle: http://jsfiddle.net/tYnH3/

css:

.content { 
    width: 100px; 
    background-color: #355E95; 
    overflow: auto; 
} 

.content-wrapper { 
    width: 150px; 
} 

.column { 
    width: 50px; 
    float: left; 
} 

html:

<div class="content"> 
    <div class="content-wrapper"> 
     <div class="column"> 
      Column   
     </div> 
     <div class="column"> 
      Column   
     </div> 
     <div class="column"> 
      Column   
     </div> 
     <div class="column"> 
      Column   
     </div> 
     <div class="column"> 
      Column   
     </div> 
     <div class="column"> 
      Column   
     </div> 
    </div> 
</div> 
+0

Modifica: ha effettuato l'overflow automatico per rimuovere lo scroll verticale. –

+0

Vedo, ma il problema è che non so quante colonne avrò. Quindi, a volte, potrebbe essere 3, a volte 10 di questi, e come vedo, ho bisogno di cambiare la larghezza del content-wrapper a seconda di quello. C'è una soluzione dinamica? Ho provato il 100%, ma non funziona. – Ned

+0

100% lo regolerà alla larghezza genitore, se ne hai bisogno in 3 colonne, allora funzionerà, se vuoi che 4 colonne cambino la larghezza, la quantità di oggetti all'interno si aggiusterà. Se le colonne cambiano per pagina, come saprà quante colonne vuoi senza che tu cambi qualcosa? Forse potremmo separarlo con una classe o potresti impostare la larghezza di "content-wrapper" nella pagina che vuoi dire 4 colonne su –

0

Provate il seguente JS violino

http://jsfiddle.net/jT6SW/1/

#wrapper 
{ 
float: left; 
height: 150px; 
width: 250px; 
margin: auto; 
border: 1px black solid; 
overflow-y: hidden; 
overflow-x: scroll; 
} 
Problemi correlati