Foros del Web » Creando para Internet » CSS »

Espacio en blanco autogenerado en Chrome con multicolumnas

Estas en el tema de Espacio en blanco autogenerado en Chrome con multicolumnas en el foro de CSS en Foros del Web. Estoy desarrollando una plantilla en la que en uno de los apartados voy a utilizar el modo multicolumnas de CSS3. Contenedor: Código: #ultimas { margin-top: ...
  #1 (permalink)  
Antiguo 13/06/2013, 08:29
Avatar de twilvaro  
Fecha de Ingreso: febrero-2012
Ubicación: La Línea (Cádiz)
Mensajes: 47
Antigüedad: 12 años, 2 meses
Puntos: 5
Espacio en blanco autogenerado en Chrome con multicolumnas

Estoy desarrollando una plantilla en la que en uno de los apartados voy a utilizar el modo multicolumnas de CSS3.

Contenedor:

Código:
#ultimas {
    margin-top: 15px;
    -webkit-column-count: 2;
    -webkit-column-gap: 15px;
    -webkit-column-fill: auto;
    -moz-column-count: 2;
    -moz-column-gap: 15px;
    -moz-column-fill: balance;
    column-count: 2;
    column-gap: 15px;
    column-fill: auto;
}
Artículos (hijos):

Código:
#ultimas article {
    -webkit-column-break-inside: avoid;
    -moz-column-break-inside: avoid;
    column-break-inside: avoid;
    break-inside: avoid-column;
    display: inline-block;
}
Teóricamente el problema lo tendría en Firefox, que no hace funcionar correctamente column-break-inside: avoid;, sin embargo al añadirle display: inline-block; parece solventar el problema. Al menos, por ahora he probado añadiendo textos de distintas longitudes y lo representa bien. Es más, lo hace mejor que Chrome; y he aquí el problema.

En Chrome (y en IE10) me añade en la parte inferior del contenedor un espacio en blanco que no tiene sentido. Ni es padding, ni es margin. Es fruto de añadir column-break-inside: avoid. Desde el inspector, cuando desactivo avoid desaparece el espacio, y lo mismo si lo comento en el código y guardo para ver el resultado.

No le encuentro explicación, porque además si lo hago tal cual en jsFiddle no pasa, es decir que pasa en la plantilla que estoy haciendo. No sé si porque hereda algo...

He probado con añadirle white-space: nowgrap, pre y pre-grap, pero tampoco.

Les dejo una imagen:



Y también el proyecto subido, para que le echen un vistazo al código a ver si saben dar con el error. Estoy desarrollándolo en mobile-first, por lo que necesitan reducir la ventana del navegador para visualizar correctamente.

http://arodriguez.cc/MAYA/index.html

Podría dividirlo en dos divs y al carajo, pero le quitaría el dinamismo que ofrecen las multicolumnas, más teniendo en cuenta que tengo pensado adaptarlo a WP. Tampoco pretendo hacerlo en JS, porque meter una librería para 4 entradas que voy a representar en columnas tampoco lo veo muy óptimo.

En fin, espero que puedan ayudarme. Gracias de antemano.

Un cordial saludo!
  #2 (permalink)  
Antiguo 16/06/2013, 05:07
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: Espacio en blanco autogenerado en Chrome con multicolumnas

Estoy en la tableta ahora mismo y no puedo mirar bien el asunto. Pero por lo que comentas, suena muy a efecto secundario del inline-block. Aunque ya digo que es lo primero que me viene a la cabeza sólo leyendo el problema.

Luego en el ordenar lo miro más al detalle a ver qué podría ser.
  #3 (permalink)  
Antiguo 16/06/2013, 08:58
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: Espacio en blanco autogenerado en Chrome con multicolumnas

Añadiendo una grilla al contenedor se puede ver que son las columnas de por si que añaden ese espacio:

Código CSS:
Ver original
  1. -webkit-column-rule: 1px solid red;

Por alguna razón las columnas se estiran creando ese espacio. Si le pones a article una posición relativa y un top: -100px lo ves más claro aún.

No sé si tal vez algo así podrían ayudar:

Código CSS:
Ver original
  1. article > * {
  2.   display: block;
  3. }

La verdad es que nunca trabajé con columnas.
  #4 (permalink)  
Antiguo 17/06/2013, 05:06
Avatar de twilvaro  
Fecha de Ingreso: febrero-2012
Ubicación: La Línea (Cádiz)
Mensajes: 47
Antigüedad: 12 años, 2 meses
Puntos: 5
Respuesta: Espacio en blanco autogenerado en Chrome con multicolumnas

Muchas gracias por la ayuda pzin. Pues al final desistí y le metí dos divs, porque además lo volví a probar en jsFiddle y ya sí que generaba ese espacio, por lo que me quedó claro que es el column-break-inside lo que genera ese espacio en blanco (no sé cómo lo probé la anterior vez que no me pasó, supongo que las prisas no son buenas jeje).

Aquí te lo dejo: http://jsfiddle.net/twilvaro/QMscy/.

Los column-break-inside están comentados, al descomentarlos verás que aparece el espacio vacío.

Es una lástima, porque si no fuese por esto sería una maravilla.

Etiquetas: blanco, chrome, divs, espacio
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 07:07.