Essayez d'utiliser la propriété CSS overflow
. Il existe également des propriétés distinctes pour définir le comportement du débordement horizontal (overflow-x
) et vertical (overflow-y
).
Puisque vous ne souhaitez que le défilement vertical, essayez ceci :
table {
height: 500px;
overflow-y: scroll;
}
ÉDITER :
Apparemment les éléments ``
overflow`
ne respectent pas la propriété . Cela semble être parce que les éléments ne sont pas rendus comme display: block``overflow
par défaut (ils ont en fait leur propre type d'affichage). Vous pouvez forcer la propriété à fonctionner en définissant l'élément comme un type de block :
table {
display: block;
height: 500px;
overflow-y: scroll;
}
Notez que cela fera en sorte que l'élément ait une largeur de 100%, donc si vous ne voulez pas qu'il prenne toute la largeur horizontale de l'élément conteneur, vous devez spécifier une largeur explicite pour l'élément également.
1 votes
Peut-être utiliser
max-height
au lieu de simplementheight
car ce dernier forcera la hauteur de la table à être500px
3 votes
Vous voudrez peut-être poser une deuxième question, concernant le maintien de la ligne d'en-tête en position fixe lors du défilement. ;)
0 votes
Voir aussi stackoverflow.com/questions/1587927/…