File "code024.php"
Full Path: /home/analogde/www/Design/Dev tableau/code024.php
File size: 3.66 KB
MIME-type: text/html
Charset: utf-8
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Tableau avec Sticky Header et Sticky Colonne</title>
<style>
table {
width: 100%;
min-width: 1200px; /* S'assure qu'une largeur minimale est appliquée */
border-collapse: collapse;
table-layout: auto; /* Permet de gérer les largeurs des colonnes automatiquement */
}
th, td {
padding: 10px;
text-align: center;
border: 1px solid #ccc;
box-sizing: border-box; /* Inclut les bordures dans la largeur des cellules */
}
/* Sticky Header */
th {
background-color: #f2f2f2;
position: sticky;
top: 0;
z-index: 2; /* Mettre les en-têtes de colonne au-dessus */
}
/* Sticky First Column */
td:first-child {
background-color: #fafafa; /* Fond solide pour la première colonne */
position: sticky;
left: 0;
z-index: 3; /* Assure que la première colonne est au-dessus des autres */
border-left: 2px solid #ccc; /* Bordure gauche visible */
border-right: 2px solid #ccc; /* Bordure droite visible */
padding-left: 12px; /* Ajoute un peu d'espace entre le contenu et la bordure */
white-space: nowrap; /* Empêche le texte de se diviser sur plusieurs lignes */
text-overflow: ellipsis; /* Ajoute "..." si le texte déborde */
overflow: hidden; /* Masque le texte qui dépasse de la première colonne */
}
/* Sticky First Cell (top-left corner) */
th:first-child {
position: sticky;
top: 0;
left: 0;
z-index: 4; /* Mettre la cellule en haut à gauche au-dessus des autres */
background-color: #f2f2f2;
border-top: 2px solid #ccc; /* Bordure supérieure */
border-left: 2px solid #ccc; /* Bordure gauche */
}
/* Défilement du tableau */
.table-wrapper {
overflow-x: auto; /* Permet le défilement horizontal */
overflow-y: auto; /* Permet le défilement vertical si nécessaire */
max-height: 400px;
height: 400px; /* Assure que le tableau n'augmente pas trop en hauteur */
}
/* Pour rendre le tableau plus agréable à l'œil */
tbody tr:nth-child(odd) {
background-color: #fafafa; /* Alternance des couleurs de lignes pour améliorer la lisibilité */
}
tbody tr:nth-child(even) {
background-color: #f9f9f9;
}
</style>
</head>
<body>
<div class="table-wrapper">
<table>
<thead>
<tr>
<th></th>
<!-- Création des en-têtes de colonnes (50 colonnes) -->
<?php for ($i = 1; $i <= 50; $i++): ?>
<th>Col <?php echo $i; ?></th>
<?php endfor; ?>
</tr>
</thead>
<tbody>
<!-- Création des lignes -->
<?php for ($i = 1; $i <= 50; $i++): ?>
<tr>
<td>Row <?php echo $i; ?></td>
<!-- Création des cellules de données -->
<?php for ($j = 1; $j <= 50; $j++): ?>
<td>Data <?php echo $i . "-" . $j; ?></td>
<?php endfor; ?>
</tr>
<?php endfor; ?>
</tbody>
</table>
</div>
</body>
</html>