Estoy enfrentando un problema al configurar el desplazamiento de desbordamiento del ancho de la altura del cuerpo.
<style>
tbody{
height:50px;display:block;overflow:scroll
}
</style>
<h3>Table B</h3>
<table style="border: 1px solid red;width:300px;display:block">
<thead>
<tr>
<td>Name</td>
<td>phone</td>
</tr>
</thead>
<tbody style='height:50px;display:block;overflow:scroll'>
<tr>
<td>AAAA</td>
<td>323232</td>
</tr>
<tr>
<td>BBBBB</td>
<td>323232</td>
</tr>
<tr>
<td>CCCCC</td>
<td>3435656</td>
</tr>
</tbody>
</table>
Quiero la tabla B como la tabla A con desplazamiento de desbordamiento.
Se agradecerá cualquier ayuda.
Muchas gracias, M.
Respuestas:
si desea
tbody
mostrar un pergamino, conviértalo en unblock
.Para mantener el comportamiento de
table
, conviértasetr
entable
.para rociar uniformemente las células, use
table-layout:fixed;
MANIFESTACIÓN
CSS para su prueba de HTML:
Si
tbody
no muestra un pergamino, ya que el contenido es inferiorheight
omax-height
, ajuste el desplazamiento en cualquier momento con:overflow-y:scroll;
. DEMO 2fuente
overflow:auto
poroverflow-y: scroll
para evitar que los encabezados se queden 1em a la izquierda incluso cuando el cuerpo no necesita barra de desplazamiento.Es una forma sencilla de utilizar la barra de desplazamiento para el cuerpo de la tabla
fuente
width: 100px
altd, th
interiortbody, thead
Otro enfoque es envolver su tabla en un elemento desplazable y configurar las celdas del encabezado para que se adhieran a la parte superior.
La ventaja de este enfoque es que no tiene que cambiar la visualización en tbody y puede dejar que el navegador calcule el ancho de la columna mientras mantiene el ancho de la celda del encabezado en línea con el ancho de la columna de la celda de datos.
fuente
height: 100%
tfoot
con una posición inferior adhesiva de 0 y funciona como un encanto. ¡Gran respuesta!De forma predeterminada,
overflow
no se aplica a los elementos del grupo de tablas a menos que le des undisplay:block
a<tbody>
también tienes que dar unposition:relative
ydisplay: block
a<thead>
. Consulta la DEMO .fuente
La más simple de todas las soluciones:
Agregue el siguiente código en CSS:
fuente
tbody tr
elementos de la página. Cambiar a:.tableClassName thead, .tableClassName tbody tr {...}
Cambie el código de su segunda tabla como se muestra a continuación.
DEMO DE JSFIDDLE
fuente
En mi caso, quería tener una altura de tabla receptiva en lugar de una altura fija en píxeles como se muestra en las otras respuestas. Para hacer eso, utilicé el porcentaje de la propiedad de altura visible y el desbordamiento en div que contiene la tabla:
De esta manera, la tabla se expandirá junto con el tamaño de la ventana.
fuente
Según esta respuesta , aquí hay una solución mínima si ya está usando Bootstrap:
Probado en Bootstrap v3
fuente
Supongo que lo que estás intentando hacer es mantener el encabezado fijo y desplazar el contenido del cuerpo. Puede desplazar el contenido en 2 direcciones:
tbody
etiqueta, porque asignardisplay:block
odisplay:inline-block
romperá el diseño de la tabla.Aquí hay una solución usando
divs
: JSFiddleHTML:
CSS:
Explicación:
Tienes un
sliding wrapper
que contendrá todos los datos.Tenga en cuenta lo siguiente:
Hay una diferencia de 17px porque debemos tener en cuenta el ancho de la barra de desplazamiento.
fuente
Webkit parece usarse internamente
display: table-row-group
para latbody
etiqueta. Actualmente hay un error con la configuración de la altura: https://github.com/w3c/csswg-drafts/issues/476Esperemos que se resuelva pronto.
fuente
HTML:
CSS:
esto también funcionará:
fuente
Hacer tablas de desplazamiento siempre es un desafío. Esta es una solución donde la tabla se desplaza tanto horizontal como verticalmente con una altura fija en el cuerpo, lo que hace que el cargador y el cuerpo se "peguen" (sin pantalla: pegajoso). He añadido una tabla "grande" solo para mostrar. Me inspiré en G-Cyrillus para hacer que el tbody muestre: block; Pero cuando se trata del ancho de una celda (tanto en el encabezado como en el cuerpo), depende del contenido interno. Por lo tanto, agregué contenido con un ancho específico dentro de cada celda, tanto en el encabezado como en la primera fila mínima en tbody (las otras filas se adaptan en consecuencia)
fuente