Comment: Fixe-Tête du Tableau avec UNE table (pas de jQuery)
Je sais, il y a au moins 3 douzaine de questions de ce genre sur stackoverflow et encore, je ne pouvais pas faire ceci se produire:
Une simple table où thead est collé/fixe en haut, et la tbody défile à l'écran.
J'ai essayé tellement de choses dans les derniers jours et maintenant j'ai fini ici, criant à l'aide.
Une solution devrait fonctionner dans IE8+ récent et le FF, Chrome & Safari.
La différence d'autres "doublons possibles comme cette une est que je ne pas souhaitez utiliser deux tables imbriquées ou jQuery (plaine javascript est très bien tout de même).
Démonstration de ce que je veux:
http://www.imaputz.com/cssStuff/bigFourVersion.html.
Problème c'est que cela ne fonctionne pas dans IE, et je serait bien d'utiliser certains JS.
Êtes-vous sûr que ceci ne fonctionne pas sous IE pour vous? Qui c'est à dire? La page liée dit, il faut travailler dans IE6+.
il ne fonctionne pas avec IE8 (testé avec IE10 dans IE8-mode).
ce n'est pas - comme je l'ai mentionné, je ne veux pas utiliser deux tables imbriquées
OriginalL'auteur ProblemsOfSumit | 2012-07-16
Vous devez vous connecter pour publier un commentaire.
Ok je l'ai eu:
Vous avez besoin de mettre la table en deux DIVs:
Le CSS pour la balise div est-ce:
La raison en est, que vous parvenez à faire de l'intérieur de la DIV scrollable, et tirez le THEAD en le collant à l'extérieur DIV.
Maintenant coller le
thead
à la outerDIV en lui donnantLa
tbody
doit avoirdisplay: block
.Maintenant, vous remarquerez que le défilement fonctionne, mais les largeurs sont complètement messep. Qui ont été Javascript.
Vous pouvez choisir vous-même comment vous voulez lui attribuer. - Je pour moi-même donné la TH dans le tableau des largeurs fixes et construit un script simple qui prend la largeur et les attribue à la première TD-ligne dans la
tbody
.Quelque chose comme cela devrait fonctionner:
Avec jQuery bien sûr, ce serait beaucoup plus facile, mais pour l'instant je n'ai pas été autorisé à utiliser un tiers de la bibliothèque pour ce projet.
Bien sûr, vous pouvez le faire dans l'autre sens. Dans ce cas d'utilisation, j'ai eu à le faire de cette façon, parce que l'utilisateur définit la largeur de la TH avant (dynamicly créé une table) et il définit la largeur de l'ensemble de la table
ok, ça sonne comme ses diff de cas d'utilisation, donc traitées différemment.
Désolé, mais je n'ai pas compris la 2ème fonction? que dois-je faire?
il suffit d'insérer la deuxième fonction quelque part. Il est appelé par la première fonction. Il va calculer à l'aide de styles CSS pour un élément donné (ce qui, bien sûr, est beaucoup plus facile avec jQuery et les goûts).
OriginalL'auteur ProblemsOfSumit
Peut-être que nous devrions changer une méthode pour obtenir cet objectif.Tels que:
Bien sûr, ce n'est pas bon de sematic.Mais c'est la façon la plus simple sans js ou jq.
Tu ne crois pas?
Êtes-vous sûr? Donnez-moi votre email et je vous enverrai mon exemple pour vous.
Si votre talbe est en haut de la fenêtre, ma solution sera la bonne. Si ce n'est pas l'affichage de cette div aucun de début et de faire bloc quand la talbe scolls vers le haut et d'en faire aucun nouveau lorsque la talbe ne peut pas être vu. Bien sûr, certains js doit être utilisé.
La construction d'un exemple sur jsfiddle.net. Il ne fonctionnera pas. J'en suis sûr.
Ouais,bon. Maintenant vous pouvez aller jsfiddle.net/JChen___/3fUFV pour voir mon exemple.
OriginalL'auteur JChen___