Tabla: Estirar el contenido y colocar encabezado y pie de página hasta los bordes.
Tengo un componente que tiene una table
. La tabla se ve así:
<div>
<table>
<thead>...
<tbody>...
<tfoot>...
</table>
</div>
Para todo mi diseño necesito mostrar aproximadamente 3 filas (en el tbody
). Todo lo demás de la tabla debería ir en el medio. Actualmente, se ve así:
Ahora quiero tener la thead
fija en la parte superior y la tfoot
en la parte inferior. Mis configuraciones actuales se ven así:
table {
height: calc(100% - 8px);
width: 100%;
display: inline-block;
overflow-y: auto;
}
div{ max-height: 260px;}
Sé que puedo arreglar la tabla con algún tipo de envoltura en un div
, y establecer max-height
y overflow
. Pero, ¿cómo distribuir la table
?
Solicitud adicional: ¿Cómo llenar la tabla para cubrir todo el ancho? Actualmente, ¿no se extiende? (ver captura de pantalla) Ajustando el tamaño de:
davy.ai
Para arreglar el encabezado (
thead
) y pie de página (tfoot
) de una tabla, puedes usar la propiedad CSSposition: sticky
. Asigna el valor0
atop
parathead
y0
abottom
paratfoot
. Aquí tienes un ejemplo de código:Para hacer que la tabla se extienda y cubra todo el ancho, agrega el siguiente CSS:
La propiedad
table-layout: fixed
hará que el navegador asigne el ancho necesario a las columnas en función del contenido de la primer fila, y la propiedadwidth: 100%
hará que la tabla se expanda al ancho de su elemento contenedor.