Comment spécifier la table de hauteur telle qu'une barre de défilement verticale apparaît?
J'ai un tableau avec le nombre de lignes sur ma page. Je voudrais mettre de la table hauteur de, dire pour 500px, de telle sorte que si la hauteur de la table est plus grande que cela, une barre de défilement verticale apparaîtra. J'ai essayé d'utiliser CSS height
attribut sur la table
, mais il ne fonctionne pas.
- Peut-être que l'utilisation
max-height
au lieu de simplementheight
que cette dernière s'en vigueur de la table hauteur de500px
- Vous pouvez poser une deuxième question, sur le fait de garder la ligne d'en-tête de défilement. 😉
- Voir aussi stackoverflow.com/questions/1587927/...
Vous devez vous connecter pour publier un commentaire.
Essayez d'utiliser le
overflow
propriété CSS. Il y a également des propriétés distinctes pour définir le comportement de l'horizontale débordement (overflow-x
) et débordement vertical (overflow-y
).Puisque vous voulez seulement le défilement vertical, essayez ceci:
EDIT:
Apparemment
<table>
éléments ne respectent pas lesoverflow
de la propriété. Cela semble être parce que<table>
éléments ne sont pas rendus commedisplay: block
par défaut (en fait ils ont leur propre type d'affichage). Vous pouvez forcer leoverflow
propriété par la mise en au<table>
d'un élément de type block:Noter que ce sera la cause de l'élément pour avoir 100% de largeur, donc si vous ne voulez pas prendre toute la largeur horizontale de la page, vous devez spécifier explicitement la largeur de l'élément en tant que bien.
height
bien à mon exemple.display:block
sur la table pour qu'elle se comporte comme unediv
jsfiddle.net/TSGSA/1tbody
et notammentposition:absolute
(vous devrez peut-être définir l'élément de la table elle-même àposition:relative
pour l'ancrage de l'tbody afin de ne pas se rendait dans un étrange endroit). Il semble que vous aurez besoin de définir explicitement la largeur à 100% pour correspondre à l'original de la réplique. Je viens de jouer avec cette pour 5 minutes dans un IETester (IE9 seulement), de sorte qu'il peut ne pas être complète et il peut ne pas fonctionner correctement sur réel IE9 ou à tous sur IE8.<!doctype html>
, ou il ignore laoverflow
.Vous avez besoin de mettre la table à l'intérieur d'un autre élément et réglez la hauteur de l'élément. Exemple avec du css:
display:table;
leurs lignes ontdisplay:table-row;
et de leurs cellules ontdisplay:table-cell;
et les deux tables correspondent et semblent en être un. (NOTE: cela ne fonctionne pas avec de très grandes tables; en gros, elle correspond à leur place quand il le peut. J'ai utilisé cette technique à plusieurs reprises.)html
élément. Pour des raisons pratiques, lehtml
de l'élément parent peut être considéré comme de la fenêtre, qui n'est pas de taille relative.pour régler la hauteur de la table, vous devez tout d'abord définir une propriété css "display: block"
ensuite, vous pouvez ajouter "largeur/hauteur" propriétés. Je trouve ce Mozilla Article une très bonne ressource pour apprendre à tables de style :
Lien