Foros del Web » Creando para Internet » CSS »

¿Cómo hago flotar los todos los divs directamente a la izquierda?

Estas en el tema de ¿Cómo hago flotar los todos los divs directamente a la izquierda? en el foro de CSS en Foros del Web. Muy buenas! Estoy desarrollando una web fluida y me ha surgido un problemilla. El tema es que en la página principal aparecen una serie de ...
  #1 (permalink)  
Antiguo 28/12/2013, 05:53
Avatar de matheus_rostenkowski  
Fecha de Ingreso: junio-2013
Mensajes: 16
Antigüedad: 10 años, 10 meses
Puntos: 0
¿Cómo hago flotar los todos los divs directamente a la izquierda?

Muy buenas! Estoy desarrollando una web fluida y me ha surgido un problemilla.
El tema es que en la página principal aparecen una serie de divs divididos en 3 columnas con las entradas hacia los artículos. Mi objetivo era que independientemente de su altura o contenido, estos se fueran posicionando justo debajo del último... es decir:

1 2 3
4 5 6
7 8 9

sin embargo, por alguna razón que desconozco, el resultado que obtengo es algo así:

123
4
56
78
9


He revisado el código y no termino de ver el problema, agradecería mucho vuestra ayuda.


HTML

Código HTML:
Ver original
  1.     <article class="wall_art">
  2.     <h2>Packaging Ecológico</h2>
  3.     <h3>Manuel Torrado</h3>
  4.     <a href="" target="_blank"><img src="img/muro/eco_pack_wall.jpg" alt="" title=""></a>
  5.     <h4>2013 | Lugo</h4>
  6.     <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
  7.     <hr>
  8.     </article>

(Serían sobre 9 entradas como esta)

CSS

Código CSS:
Ver original
  1. section{
  2.     margin-top:3em;
  3.     height:100%;
  4.     }
  5.    
  6. article{
  7.     margin-left:1.563em;
  8.     margin-bottom:1.563em;
  9.     width:30%;
  10.     display:block;
  11.     float:left;
  12.     height:auto;
  13.     }
  14.    
  15. article:hover{
  16.     outline:1.5em solid #FF0;
  17.     }
  18.    
  19. .wall_art{
  20.     font-family: 'PT Mono', sans-serif;
  21.     margin-right:7,5%;
  22.     margin-left:7,5%;
  23.     }
  24.  
  25. .wall_art h2, h3{
  26.     margin-top:-0.3em;
  27.     margin-bottom:1.563em;
  28.     }
  29.    
  30. .wall_art h2{
  31.     font-size:1em;
  32.     font-weight:bold;
  33.     float:left;
  34.     background-color:#FF0;
  35.     }
  36.    
  37. .wall_art h3{
  38.     font-size:0.8em;
  39.     float:right;
  40.     }
  41.    
  42. .wall_art img{
  43.     float:left;
  44.     max-width:80%;
  45.     margin-left:0px;
  46.     margin-bottom:5%;
  47.     }
  48.    
  49. .wall_art h4{
  50.     clear:both;
  51.     margin-top:1.563em;
  52.     margin-bottom:0.8em;}
  53.    
  54. .wall_art p{
  55.     font-size:0.7em;}
  56.    
  57. .wall_art hr{
  58.     margin-top:1em;
  59.     margin-bottom:1em;
  60.     height:0.400em;}


Muchisimas gracias de antemano.

Última edición por pzin; 29/12/2013 a las 00:18 Razón: formato código
  #2 (permalink)  
Antiguo 28/12/2013, 09:07
 
Fecha de Ingreso: mayo-2013
Mensajes: 207
Antigüedad: 10 años, 11 meses
Puntos: 31
Respuesta: ¿Cómo hago flotar los todos los divs directamente a la izquierda?

Con el html que pones no veo div alguno, y luego con la estructura básica del problema bastaría (sin el contendido de cada articulo: h1, h2, ...).

Es un problema básico de matemáticas. Aquí tienes el problema, sacado de tu css.
Código CSS:
Ver original
  1. article{
  2. width:30%;
  3. }
  4.  
  5. .wall_art{
  6. margin-right:7,5%;
  7. margin-left:7,5%;
  8. }
Complicado veo meter 3 article.wall_art en el 100%
  #3 (permalink)  
Antiguo 28/12/2013, 10:10
Avatar de matheus_rostenkowski  
Fecha de Ingreso: junio-2013
Mensajes: 16
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: ¿Cómo hago flotar los todos los divs directamente a la izquierda?

Cita:
Iniciado por alzacon Ver Mensaje
Con el html que pones no veo div alguno, y luego con la estructura básica del problema bastaría (sin el contendido de cada articulo: h1, h2, ...).

Es un problema básico de matemáticas. Aquí tienes el problema, sacado de tu css.
Código CSS:
Ver original
  1. article{
  2. width:30%;
  3. }
  4.  
  5. .wall_art{
  6. margin-right:7,5%;
  7. margin-left:7,5%;
  8. }
Complicado veo meter 3 article.wall_art en el 100%
Ante todo mis disculpas por extenderme demasiado con el código; soy nuevo aquí y todavía no controlo mucho el funcionamiento de este foro.
Segundo; cuando hablo de div; me refiero al article o .wall_art en su defecto entendiendo div como elemento contendor.
Y 3. Cierto es que se me ha pasdo el 7.5% de margin laterales y que podría se de esto, pero no. Los he modificado y sigue exactamente igual que antes.

Aquí dejo un enlace al sitio de forma provisional para que puedas ver a lo que me refiero:

http://perceibe.50webs.com/
  #4 (permalink)  
Antiguo 28/12/2013, 11:46
 
Fecha de Ingreso: junio-2012
Ubicación: Madrid
Mensajes: 339
Antigüedad: 11 años, 10 meses
Puntos: 47
Respuesta: ¿Cómo hago flotar los todos los divs directamente a la izquierda?

Si le das un alto fijo a todos los div para que estén alineados con la misma altura se te solucionará el problema.
Iba a escribirte la razón pero es un poco complicado de explicar, si buscas cualquier tutorial sobre el comportamiento de las flotaciones lo comprenderás.
Ahora bien, si lo que quieres es hacerlo con divs de altura variable, tendría que pensar la manera de hacerlo, pero seguro que hay alguna "estándar" de hacerlo y si buscas encontraras tutoriales o páginas a las que copiarles el código para hacerlo.
  #5 (permalink)  
Antiguo 28/12/2013, 15:12
 
Fecha de Ingreso: mayo-2013
Mensajes: 207
Antigüedad: 10 años, 11 meses
Puntos: 31
Respuesta: ¿Cómo hago flotar los todos los divs directamente a la izquierda?

No tienes porque disculparte, simplemente era un consejo porque muchas veces si se pone código de más hace más dificil ver el problema.

Y como dice JustinKO es un problema con la altura de los articulos y el comportamiento de las flotaciones.
  #6 (permalink)  
Antiguo 29/12/2013, 00:17
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: ¿Cómo hago flotar los todos los divs directamente a la izquierda?

Puedes usar columnas CSS:

Código CSS:
Ver original
  1. section {
  2.   column-count: 3;
  3.   column-gap: 20px;
  4. }

También podías usar Flexbox, aunque de momento yo lo dejaría hasta dentro de unos meses por la compatibilidad.

Y lo demás serían soluciones con JavaScript, por ahí anda masonry por ejemplo.
  #7 (permalink)  
Antiguo 30/12/2013, 16:58
 
Fecha de Ingreso: octubre-2013
Mensajes: 5
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: ¿Cómo hago flotar los todos los divs directamente a la izquierda?

o podes simplemente cortar el float despues de la ultima columna de cada fila, en este caso en el div 3, 6, y 9

Etiquetas: diseño, float, html5
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:54.