Tengo una cuadrícula fluida (en altura y ancho). Los LI son siempre rectangulares y se adaptan a sí mismos al tamaño de la pantalla.Rellenar espacios vacíos en un elemento de lista
Ahora necesito completar las listas, para que todas tengan la misma altura. Esto sería fácil si todas las columnas tuvieran un elemento LI. Pero hay columnas de tamaño doble y algunas de ellas pueden contener LI de gran tamaño. En algunos casos, incluso hay espacios vacíos en el medio de la columna, porque hay un gran Li pequeño y justo después uno grande.
En algunas páginas de contenido, todas las li están en una sola columna.
En todos los casos, los li's flotan a la izquierda. He hecho algunas imágenes para explicar el problema:
principio quería contar el niño y compararlas. Pero se volvió complicado cuando todos los LI están en una sola columna o cuando falta una LI en el medio de la columna.
Esto es lo que he intentado:
var longest = 0
$("ul.grid-col").each(function(){
var liCount, $that = $(this);
liCount = $that.find("> li").length;
if ($that.is(".double")){
if($that.find("li.big").length){
var bigCount = $that.find("li.big").length
liCount = (liCount - bigCount) + (bigCount * 4) //because one big has the size of 4 small one
}
liCount = liCount/2
}
if (longest < liCount){
longest = liCount
}
})
Ahora sé cuántos LI de lo que necesito para llenar los espacios vacíos, es bastante fácil de llenarlos. ¿Pero cómo averiguo si hay un espacio vacío en medio de los li's? ¿Y cómo manejarías el caso especial de la columna individual?
¿Ha tenido una oportunidad con esto? http://desandro.com/resources/jquery-masonry/ –