Une table responsive pour bloquer le défilement de l'entête et de colonnes
{up table-fixe}
< table> ... < /table>
{/up table-fixe}
col-left : nombre de colonnes toujours visible.
Une barre de défilement est ajoutée pour les autres colonnes.
- table_fixe: aucun argument
- col-left: nombre de colonnes fixées à gauche
- max-height: max-height pour le bloc parent
Style CSS
- id: identifiant
- style: classes et styles pour le bloc parent
- class: classe(s) pour le bloc parent (obsolète)
- css-head (base-css): permet d'ajouter des style à la table incluse
Basé sur un script de lai32290
Cette action permet de bloquer le défilement des entêtes colonnes (thead), ainsi qu'une ou plusieurs colonnes à gauche. Si nécessaire, des ascenseurs seront ajoutés.
Il suffit d'entourer la table saisie en HTML ou avec un éditeur WYSIWYG comme TinyMCE par les shortcodes de UP
Exemple: les pays frontalier de la France
Redimensionner votre navigateur pour voir l'effet responsive
{up table-fixe | max-height=200px | col-left=1 | class=bd-rouge}
---- la table ----
{/up table-fixe}
Une hauteur maximale de 200px est définie pour la démo. Un cadre rouge permet de la matérialiser.
col-left permet de fixer une colonne à droite. Pour en fixer deux, il faut écrire col-left=2
Nom français | Plaques minéralogiques | Indicatif téléphonique | TLD | Capitale | Nom anglais | Population | Superficie | Latitude | Longitude | Altitude |
---|---|---|---|---|---|---|---|---|---|---|
France | F | 33 | .fr | Paris | France | 65.844.000 | 551.500 km2 | 46.642 | 2.338 | 375 |
Belgique | B | 32 | .be | Bruxelles | Belgium | 11.132.269 | 32.545 km2 | 50.649 | 4.642 | 181 |
Luxembourg | LT | 352 | .lu | Luxembourg | Luxembourg | 537.000 | 2.586 km2 | 49.778 | 6.095 | 325 |
Allemagne | D | 49 | .de | Berlin | Germany | 80.619.000 | 357.022 km2 | 51.202 | 10.382 | 263 |
Suisse | CH | 41 | .ch | Berne | Switzerland | 8.112.200 | 41.284 km2 | 46.806 | 8.226 | 1350 |
Italie | I | 39 | .it | Rome | Italy | 59.943.933 | 301.318 km2 | 42.768 | 12.492 | 538 |
Monaco | MC | 337 | .mc | Monaco | Monaco | 36.136 | 2 km2 | 43.740 | 7.427 | 32 |
Espagne | E | 34 | .es | Madrid | Spain | 46.609.700 | 505.992 km2 | 40.396 | -3.551 | 660 |
Royaume-Uni | GB | 44 | .uk | Londres | United Kingdom | 63.705.000 | 242.900 km2 | 54.071 | -2.784 | 162 |
La présentation de la table est obtenue par l'ajout de classes UP dans la balise TABLE <table class="up-table-line w100">
Avec du style
Nom français | Plaques minéralogiques | Indicatif téléphonique | TLD | Capitale | Nom anglais | Population | Superficie | Latitude | Longitude | Altitude |
---|---|---|---|---|---|---|---|---|---|---|
France | F | 33 | .fr | Paris | France | 65.844.000 | 551.500 km2 | 46.642 | 2.338 | 375 |
Belgique | B | 32 | .be | Bruxelles | Belgium | 11.132.269 | 32.545 km2 | 50.649 | 4.642 | 181 |
Luxembourg | LT | 352 | .lu | Luxembourg | Luxembourg | 537.000 | 2.586 km2 | 49.778 | 6.095 | 325 |
Allemagne | D | 49 | .de | Berlin | Germany | 80.619.000 | 357.022 km2 | 51.202 | 10.382 | 263 |
Suisse | CH | 41 | .ch | Berne | Switzerland | 8.112.200 | 41.284 km2 | 46.806 | 8.226 | 1350 |
Italie | I | 39 | .it | Rome | Italy | 59.943.933 | 301.318 km2 | 42.768 | 12.492 | 538 |
Monaco | MC | 337 | .mc | Monaco | Monaco | 36.136 | 2 km2 | 43.740 | 7.427 | 32 |
Espagne | E | 34 | .es | Madrid | Spain | 46.609.700 | 505.992 km2 | 40.396 | -3.551 | 660 |
Royaume-Uni | GB | 44 | .uk | Londres | United Kingdom | 63.705.000 | 242.900 km2 | 54.071 | -2.784 | 162 |
L'exemple ci-dessus montre la possibilité de styler individuellement des tables.
{up addcsshead=#demo2 tr td:nth-child(1), #demo2 tr td:nth-child(2), #demo2 th[background:var(--beige)]}
{up table-fixe | max-height=200px | col-left=2 | class=bd-vert bg-jauneClair}
<table id="demo2">
...
</table>
{/up table-fixe}
On utilise l'action addcsshead pour définir les règles CSS pour la table "demo2". On force l'id directement dans la table. Je profite de cette exemple pour montrer la possibilité d'avoir un nombre de colonnes à gauche spécifique.
upactionslist (1) table-fixe (2) addcsshead (1) jcontent-info (1)