que grow ejemplos contenedor html css google-chrome flexbox

html - grow - flexbox generator



Error de caja flexible con altura máxima en cromo v43 (1)

Tengo el siguiente constructo para renderizar un diseño simple con encabezado y pie de página fijo y un cuerpo flexible con contenido desplazable: http://jsbin.com/jokevuyave/1/edit?html,css

<div id="main-view"> <div class="rows"> <div class="head">header</div> <div class="main scroll"></div> <div>footer</div> </div> </div>

y estos son los estilos:

.rows, .columns { display: flex; flex-direction: column; box-sizing: border-box; } .columns { flex-direction: row; max-height: 100%; overflow: hidden; } .main { flex: 1; } .scroll { display: flex; overflow: hidden; position: relative; flex-direction: column; } .scroll > * { margin: 0; width: 100%; overflow: auto; } html, body, #main-container, #main-view, .scrollable { height: 100%; margin: 0 } #main-view > div { max-height: 100%; display: flex; } .head { height: 120px }

Esta construcción funciona bien en Firefox y también en Chrome hasta que se lanzó la versión 43. Ahora la altura de los contenedores es incorrecta, el encabezado y el pie de página no se expanden para mostrar su contenido y el contenedor de contenido establece el contenido del encabezado. ¿Algúna idea de cómo arreglar esto?

Editar

El problema parece ser esta línea:

#main-view > div { max-height: 100%; }

La idea es que la caja solo se expanda si el contenido es demasiado grande.

Cambiarlo a

#main-view > div { height: 100%; }

arregla la altura incorrecta para el contenedor interno, pero ahora la caja siempre tiene la altura del 100%, incluso si el contenido es realmente pequeño.


Hay un problema con max-heigth heigth y flexbox: flexbox portarse mal con max-height

Entonces, la solución es establecer la propiedad de flex en cada contenedor de rows perspicacia de elementos en 0

.rows .main { flex: 1; } .rows > * { flex: 0 0 auto }