¿El maxHeight del Tabulator v5 no funciona cuando se utiliza dentro de un flex box?
Objetivo: colocar la parte inferior de la tabla y el pie de página dentro del diseño principal. (gris claro)
Puedes encontrar el problema aquí: https://codepen.io/ironirc/pen/ExwQMLX
Estructura HTML:
<div style="height:300px;background-color:#555;padding:10px">
<div class="col-layout">
<div class="header">This is the header</div>
<div class="table-wrapper">
<div class="table" id="userTable">Table placeholder</div>
</div>
<div class="footer">This is the footer</div>
</div>
</div>
CSS:
.col-layout {
padding: 10px;
display: flex;
flex-direction: column;
gap: 10px;
align-content: stretch;
background-color: #999;
box-sizing: border-box;
height: 100%;
}
.header {
background-color: #ff5c61;
}
.table-wrapper {
background-color: black;
padding: 10px;
height: 100%;
}
.table {
background-color: #4cd1a4;
}
.footer {
background-color: #5ebeff;
}
JavaScript omitido (ver código en CodePen)
Eliminar el contenedor de la tabla (negro) resuelve el problema, pero en mi caso lo necesito.
davy.ai
Para obtener la parte inferior de la tabla y el pie de página dentro del diseño principal (gris claro), necesitamos hacer algunos ajustes al CSS:
align-content
de.col-layout
aflex-start
, para que los elementos se alineen en la parte superior del contenedor.flex-grow: 1
a.table-wrapper
, para que ocupe todo el espacio vertical disponible en el contenedor.height
de.table-wrapper
a0
y agregaroverflow: auto
, para que haga scroll si el contenido de la tabla es demasiado alto para el contenedor.Aquí está el CSS actualizado:
Con estos cambios, la tabla y el pie de página ahora deberían estar dentro del diseño principal: