Comment créer : Onglets

Apprenez à utiliser CSS et JavaScript pour créer des onglets sélectionnés.

Onglets

Les onglets sont très utiles pour les applications Web uniques ou pour les pages Web qui peuvent afficher différents sujets :

London

London est la capitale de l'Angleterre.

Paris

Paris est la capitale de la France.

Tokyo

Tokyo est la capitale du Japon.

Essayez-le vous-même

Créer des onglets réversibles

Étape 1 - Ajouter HTML :

<!-- Liens des onglets -->
<div class="tab">
  <button class="tablinks" onclick="openCity(event, 'London')">London</button>
  <button class="tablinks" onclick="openCity(event, 'Paris')">Paris</button>
  <button class="tablinks" onclick="openCity(event, 'Tokyo')">Tokyo</button>
</div>
<!-- Contenu de l'onglet -->
<div id="London" class="tabcontent">
  <h3>London</h3>
  <p>London is the capital city of England.</p>
</div>
<div id="Paris" class="tabcontent">
  <h3>Paris</h3>
  <p>Paris est la capitale de la France.</p>
</div>
<div id="Tokyo" class="tabcontent">
  <h3>Tokyo</h3>
  <p>Tokyo est la capitale du Japon.</p>
</div>

Créer des boutons pour ouvrir le contenu de l'onglet spécifique. Tous les éléments avec class="tabcontent" de <div> Les éléments sont tous cachés par défaut (par le CSS et le JS). Lorsque l'utilisateur clique sur un bouton, il ouvrira le contenu de l'onglet "correspondant" à ce bouton.

Étape 2 - Ajouter CSS :

Définir le style des boutons et du contenu des onglets :

/* Définir le style de l'onglet */
.tab {
  overflow: hidden;
  border: 1px solid #ccc;
  background-color: #f1f1f1;
}
/* Définir le style du bouton pour ouvrir le contenu de l'onglet */
.tab button {
  background-color: inherit;
  float: left;
  border: none;
  outline: none;
  cursor: pointer;
  padding: 14px 16px;
  transition: 0.3s;
}
/* Changer la couleur de fond du bouton au survol */
.tab button:hover {
  background-color: #ddd;
}
/* Créer la classe de lien d'onglet actif/courant */
.tab button.active {
  background-color: #ccc;
}
/* Définir le style du contenu de l'onglet */
.tabcontent {
  display: none;
  padding: 6px 12px;
  border: 1px solid #ccc;
  border-top: none;
}

Étape 3 - Ajouter JavaScript :

function openCity(evt, cityName) {
  // Déclarer toutes les variables
  var i, tabcontent, tablinks;
  // Obtenir tous les éléments avec la classe "tabcontent" et les cacher
  tabcontent = document.getElementsByClassName("tabcontent");
  for (i = 0; i < tabcontent.length; i++) {
    tabcontent[i].style.display = "none";
  }
  // Obtenir tous les éléments avec la classe "tablinks" et supprimer la classe "active"
  tablinks = document.getElementsByClassName("tablinks");
  for (i = 0; i < tablinks.length; i++) {
    tablinks[i].className = tablinks[i].className.replace(" active", "");
  }
  // Afficher l'onglet actuel et ajouter la classe "active" au bouton qui l'a ouvert
  document.getElementById(cityName).style.display = "block";
  evt.currentTarget.className += " active";
}

Essayez-le vous-même

Faire apparaître l'onglet

Pour faire apparaître le contenu de l'onglet, ajoutez le CSS suivant :

.tabcontent {
  animation: fadeEffect 1s; /* Effet d'animation d'apparition/disparition pendant 1 seconde */
}
/* Transition de transparence nulle à完全不透明 */
@keyframes fadeEffect {
  from {opacity: 0;}
  to {opacity: 1;}
}

Essayez-le vous-même

Affichage par défaut de l'onglet

Pour ouvrir un onglet spécifique au chargement de la page, utilisez JavaScript pour cliquer sur le bouton de l'onglet :

<button class="tablinks" onclick="openCity(event, 'London')" id="defaultOpen">London</button>
<script>
// Obtenir l'élément avec l'id="defaultOpen" et cliquer dessus
document.getElementById("defaultOpen").click();
</script>

Essayez-le vous-même

Fermer l'onglet

Si vous souhaitez fermer un onglet spécifique, utilisez JavaScript pour masquer l'onglet en cliquant sur le bouton :

<!-- Cliquez sur l'élément <span> pour fermer l'onglet -->
<div id="London" class="tabcontent">
  <h3>London</h3>
  <p>London is the capital city of England.</p>
  <span onclick="this.parentElement.style.display='none'">x</span>
</div>

Essayez-le vous-même

Pages associées

Tutoriel :Comment créer des onglets verticaux