que horizontal div html css alignment

html - CSS: haz que los divs se alineen horizontalmente



wrapper html que es (7)

Tengo un contenedor div con un ancho y una altura fijos, con overflow: hidden.

Quiero una fila horizontal de flotante: divs izquierda dentro de este contenedor. Divs que flotan a la izquierda naturalmente empujarán a la ''línea'' a continuación después de que lean el límite correcto de su padre. Esto sucederá incluso si la altura del padre no debe permitir esto. Así es como se ve esto:

! [Incorrecto] [1] - imagen eliminada de la imagen de la cabaña que había sido reemplazada por un anuncio

Cómo me gustaría que se vea:

! [Derecha] [2] - imagen eliminada de la imagen de la cabaña que había sido reemplazada por un anuncio

Nota: el efecto que quiero se puede lograr usando elementos en línea y espacio en blanco: no-wrap (así es como lo hice en la imagen que se muestra). Esto, sin embargo, no es bueno para mí (por razones demasiado extensas para explicarlo aquí), ya que los divs infantiles deben ser elementos flotantes de nivel de bloque.


Ahora puede usar css flexbox para alinear divs horizontalmente y verticalmente si lo necesita. la fórmula general es como esto

parent-div { display:flex; flex-wrap: wrap; justify-content: center ; /* for horizontal aligning of child divs */ align-items : center ; /* for vertical aligning */ } child-div { width: /* yoursize for each div */ ; }


Esto parece cercano a lo que quieres:

#foo { background: red; max-height: 100px; overflow-y: hidden; } .bar { background: blue; width: 100px; height: 100px; float: left; margin: 1em; }

<div id="foo"> <div class="bar"></div> <div class="bar"></div> <div class="bar"></div> <div class="bar"></div> <div class="bar"></div> <div class="bar"></div> </div>


Float: left, display: inline-block no alineará los elementos horizontalmente si exceden el ancho del contenedor.

Es importante tener en cuenta que el contenedor no debe envolverse si los elementos DEBEN mostrarse horizontalmente: white-space: nowrap


Flotarlos a la izquierda. En Chrome, al menos, no es necesario tener un contenedor, id="container" , en el ejemplo de LucaM.


Puede colocar un div interno en el contenedor que sea lo suficientemente ancho para contener todos los divs flotantes.

#container { background-color: red; overflow: hidden; width: 200px; } #inner { overflow: hidden; width: 2000px; } .child { float: left; background-color: blue; width: 50px; height: 50px; }

<div id="container"> <div id="inner"> <div class="child"></div> <div class="child"></div> <div class="child"></div> </div> </div>


puedes usar la propiedad de clip :

#container { position: absolute; clip: rect(0px,200px,100px,0px); overflow: hidden; background: red; }

tenga en cuenta la position: absolute y overflow: hidden necesita overflow: hidden para que el clip funcione.


style="overflow:hidden" para div principal y style="float: left" para todos los divs secundarios son importantes para hacer que los divs alineen horizontalmente para navegadores antiguos como IE7 y abajo.

Para los navegadores modernos, puede usar style="display: table-cell" para todos los divs secundarios y se representará horizontalmente.