IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez Discussion :

Table scrollable avec colonne fixe


Sujet :

Contribuez

  1. #1
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    janvier 2011
    Messages
    16 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : janvier 2011
    Messages : 16 468
    Points : 42 489
    Points
    42 489
    Par défaut Table scrollable avec colonne fixe

    Et si on oubliait un peu le JavaScript et que l'on adoptait le positionnement sticky pour rendre nos <table> scrollables, bon pour le coup on oublie également IE.

    La réalisation d'une <table> scrollable en devient des plus rudimentaire.

    Aperçu

    Cela n'est pas forcément parlant mais bon ...
    Nom : table-scrollable.png
Affichages : 171
Taille : 18,3 Ko

    Structure HTML

    La structure utilisée est on ne peut plus standard, il nous faut simplement mettre un conteneur à la <table> pour obliger celle-ci à scroller.

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <div class="table-conteneur">
      <table class="table-scrollable">
        <thead>
          <!-- le contenu de l'entête -->
        </thead>
        <tbody>
          <!-- le contenu de la table -->
        </tbody>
      </table>
    </div>
    CSS pour effet de scroll

    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    tbody td:first-child {
      z-index: 1;
      position: sticky;
      left: 0;
    }
    thead tr:first-child th {
      z-index: 2;
      position: sticky;
      top: 0;
    }
    thead tr:first-child th:first-child {
      z-index: 3;
      position: sticky;
      top: 0;
      left: 0;
    }
    C'est surtout la valeur des z-index, l'empilement donc, qui est importante.

    Il faut penser à mettre une couleur de fond sur les éléments en position sticky pour qu'ils restent proprement visibles.

    Le reste du CSS n'est que cosmétique.

    Voilà c'est terminé, pas trop déçu ?

    Désagréments



    Ressources





    Voir l'exemple en ligne : Table scrollable avec colonne fixe

  2. #2
    Membre averti
    Homme Profil pro
    OoW
    Inscrit en
    juin 2019
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Ukraine

    Informations professionnelles :
    Activité : OoW

    Informations forums :
    Inscription : juin 2019
    Messages : 117
    Points : 403
    Points
    403
    Par défaut
    Voilà c'est terminé, pas trop déçu ?
    quand le CSS devient simple cela se résume en peu de ligne, dommage que Explorer n'ait pas implémenter le positionnement sticky car il reste encore bien utilisé même si il se meurt.

    Bon il reste le javascipt pour cela !

    Merci.

Discussions similaires

  1. Tableau scrollable avec colonne gauche fixe
    Par Issiel dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 12/06/2012, 14h42
  2. [WD12] Table fichier avec colonne non liée
    Par david77320 dans le forum WinDev
    Réponses: 1
    Dernier message: 17/10/2008, 11h09
  3. Scroll horizontal avec colonnes fixe
    Par Saverok dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 25/04/2008, 11h36
  4. [HTML] tableau avec colonne fixe et scrollbar
    Par Mathieu.Nanoux dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 01/10/2007, 10h44
  5. Table editable avec colonnes typées
    Par sanchou dans le forum SWT/JFace
    Réponses: 1
    Dernier message: 10/05/2007, 14h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo