Tableau d'en-tête fixe avec barre de défilement horizontale et barre de défilement verticale activées
Le problème auquel vous êtes confronté se produit lorsque vous ajoutez une barre de défilement verticale à votre fixe tableau d'en-tête. La barre de défilement verticale interfère avec le positionnement de la barre de défilement horizontale, car les deux sont en conflit pour l'espace dans le conteneur externe.
Structure HTML et CSS
Votre HTML et CSS fournis la structure est un bon point de départ. Le HTML se compose d'une structure imbriquée de tableaux, avec le tableau d'en-tête défini sur un positionnement fixe et le corps du tableau défini sur overflow-y: scroll. Le CSS définit des styles pour les éléments du tableau, y compris des hauteurs et des largeurs fixes pour les cellules d'en-tête et les cellules de corps.
Solution
Pour résoudre le problème et avoir à la fois des éléments horizontaux et les barres de défilement verticales fonctionnent correctement, nous pouvons utiliser une combinaison de CSS et JavaScript :
CSS :
JavaScript :
Exemple de code
Voici un exemple de la mise à jour code :
/* CSS */ .scroll-container { width: 100%; } /* JavaScript */ var scrollContainer = document.querySelector(".scroll-container"); var tableBody = document.querySelector(".table-body"); tableBody.style.width = scrollContainer.offsetWidth + "px";
Explication
En supprimant la propriété overflow-x du .inner-container et en définissant une largeur spécifique via JavaScript, nous nous assurons que le .table-body a la largeur correcte pour s'adapter au défilement horizontal et vertical. Cet alignement empêche la barre de défilement verticale d'interférer avec la barre de défilement horizontale et permet aux deux de fonctionner correctement.
Solutions alternatives
De plus, il existe d'autres solutions que vous pourriez envisager :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!