2011-02-01 19 views
6

Tengo un div #items que se envuelve alrededor de un montón de .item. Quiero mostrar los elementos uno al lado del otro y, si exceden el ancho de la página, mostrar una barra de desplazamiento horizontal.cómo mostrar una barra de desplazamiento horizontal

<div id="somediv"></div> 

<div id="items"> 
    <div class="item"> 
    Item content 
    </div> 
</div> 

<div id="someotherdiv"></div> 

he intentado algo como esto pero no funciona

#items{ 
    overflow: auto; 
    width:100%; 
    height:200px;  /* this is the height of each item*/ 
} 
.item{ 
    float:left;  
} 

pensé que esta era la manera de hacerlo, pero no puedo conseguir que esto camino al trabajo, así que estoy abierto a correcciones y otras formas también.

+0

Si su contenedor especifica un ancho, no excederá eso. Podrías publicar tus html y css (body y wrapper divs) –

+0

@Grillz Mi cuerpo no tiene ningún ancho, pero mi contenedor tiene 'ancho: 800px;' – zmol

Respuesta

5

Está en el camino correcto, pero se necesita y la envoltura adicional para hacer que funcione ...

<div id="scrollable"> 
<div id="items"> 
    <div class="item"> 
    Item content 
    </div> 
</div> 
</div> 

y luego tu CSS:

#scrollable { 
     overflow: auto; 
     width:100%; 
     height:200px; 
    } 

    #items { 
    width: 3000px; /* itemWidth x itemCount */ 
    } 

    .item{ 
    float:left;  
    } 
+0

gracias solo necesitaba esto –

+0

Nunca hice una barra de desplazamiento horizontal, porque Yo personalmente los odio. Pero esto funciona a la perfección. ¡Gracias! – bozdoz

0

yo preferiría que no proporciona el ancho de #items. En mi caso, el número de .item era dinámico y sumarlos no era de mi preferencia.

#items{ 
      overflow: auto; 
      white-space:nowrap; 
     } 

.item {    
      display:inline; 
     } 
Cuestiones relacionadas