INFOR logo_ordinateurMATIQUE

Aide pour les CSS - Bruno Gadrat

Faire défiler le texte de la table
en fixant l'en-tête

Pour les grandes tables

Faire durable maintenant
pub
Acheter en ligne

ABCD
1111
2222
3sfsd333
44sdfs44
55asdf55
66adfdsadf66
7asdf777
88asdfdsfasdfadf88
asd9asfs999
11111
12222
13sfsd333
144sdfs44
155asdf55
166adfdsadf66
17asdf777
188asdfdsfasdfadf88
1asd9asfs999
21111
22222
23sfsd333
244sdfs44
255asdf55
266adfdsadf66
27asdf777
288asdfdsfasdfadf88
2asd9asfs999
1234

Charger le fichier contenant le html et le css en Version minimale avec toutes les colonnes égales ou en Version avec des colonnes de largeurs différentes

Structure de la table

C'est important que le html sépare le bloc d'en-tête <thead> du corps <tbody> et du pied <tfoot>. Ce sont eux qu'on va faire bouger ou qu'on va fixer.
On donne une classe ou un id à notre table pour bien associer le style à cette table.

<body>
<table class="tableaulong">

<thead>
<tr><th>...</th>...........</tr>
</thead>

<tbody>
<tr><td>...</td>...........</tr>
<tr><td>...</td>...........</tr>
<tr><td>...</td>...........</tr>
</tbody>

<tfoot>
<tr><th>...</th>...........</tr>
</tfoot>

</table>
</body>

Le CSS

Le style va changer les propriétés de la table. Dans une table tout est coordonné automatiquement pour les largeurs des colonnes et les hauteurs des lignes en fonction du contenu. On perd cet avantage quand on fixe les blocs. On devra dire la hauteur des blocs et la largeur des colonnes.

<style>
.tableaulong { margin-bottom:30vh; width:50vw; margin:auto; }

.tableaulong tbody { position:absolute; max-height:20vh; overflow-y: scroll;}
.tableaulong tfoot{ position:absolute; margin-top:20vh; z-index:-1; }
.tableaulong tbody, .tableaulong tfoot {width:50vw;}

.tableaulong td, .tableaulong th { width:25vw; text-align:center;}
.tableaulong tbody, .tableaulong tfoot{border-top:solid 1px;}
</style>

On laisse la table dans le flux. On lui donne une marge en bas qui va dégager la place pour le tableau. Les éléments qui suivent la table seront repoussés après la marge du bas. La hauteur de la marge du bas, c'est la hauteur du tableau. On fixe la largeur de la table. On peut faire cela en pixels ou en relatif à la dimension de la fenêtre à partir de css3, vh pour la hauteur, vw pour la largeur.

On positionne le tbody en haut en absolu. Il se cale sur le haut de la table juste en dessous du thead qui reste dans le flux avec la table. On donne la hauteur du tbody. C'est un peu moins que pour la marge basse de la table si on tient compte de la légende caption. On lui donne la possibilité de bouger verticalement avec le overflow-y.

On positionne le tfoot en haut en absolu. Il se cale sur le haut de la table juste en dessous du thead. On le fait passer derrière avec z-index si le fond n'est pas transparent. Pour laisser de la place au tbody, on donne au tfoot une marge haute égale à la hauteur du tbody.

Ces trois éléments servent à les rendre mobiles les uns par rapport aux autres. Il faut maintenant fixer les largeurs qui ne sont plus dépendantes de la table.

La largeur du thead est héritée de la largeur de la table. On donne la même largeur pour le tbody et le tfoot qui ont perdu leur dépendance à la table.

Finalement, on fixe la largeur des colonnes td ou th et on centre le texte pour tout aligner. Une petite bordure pour séparer le tbody et le tfoot permet de mieux voir la zone de défilement.

On peut décorer un peu plus. Il faut faire attention aux marges, aux bordures, à l'écartement entre les cellules du tableau.

Quelques accents en html
CarHtmlen françaisEn Anglais
â&acirc;a minuscule accent circonflexesmall a, circumflex accent
à&agrave;a minuscule accent gravesmall a, grave accent
é&eacute;e minuscule accent aigusmall e, acute accent
ê&ecirc;e minuscule accent circonflexesmall e, circumflex accent
è&egrave;e minuscule accent gravesmall e, grave accent
ë&euml;e minuscule trémasmall e, dieresis or umlaut mark
î&icirc;i minuscule accent circonflexesmall i, circumflex accent
ï&iuml;i minuscule trémasmall i, dieresis or umlaut mark
ô&ocirc;o minuscule accent circonflexesmall o, circumflex accent
œ&oelig;o e minuscule liéssmall o e diphthong (ligature)
û&ucirc;u minuscule accent circonflexesmall u, circumflex accent
ù&ugrave;u minuscule accent gravesmall u, grave accent
ü&uuml;u minuscule trémasmall u, dieresis or umlaut mark
ç&ccedil;c cedille minusculesmall c, cedilla
<&lt;inférieur àless than
>&gt;supérieur àgreater than
ß&szlig;sz minuscule lié Allemandsmall sharp s, German (sz ligature)
ø&oslash;o minuscule rayésmall o, slash
Ω&Omega;Omega en grec grand OOmega
Ð&ETH;inférieur àcapital Eth, Icelandic
Ø&Oslash;O majuscule rayécapital O, slash
Þ&THORN;THORN majuscule IslandaisÞ capital THORN, Icelandic
þ&thorn;thorn minuscule Islandaissmall thorn, Icelandic
Å&Aring;a majuscule anneaucapital a, ring
CarHtmlen françaisEn Anglais

Changer l'aspect des choses les plus ordinaires

Bruno Gadrat Design Végétal / Mieux Vivre ici: Jardins et paysages durables

pub

Bruno Gadrat

Orig: 2017/12/30 Rev: 2012/12/30

CSS-table-entetefixe-corpsdefile.html

CSS-table-bordures.html

Design et gestion du site B.Gadrat

Contrôle qualité