Comment - Onglets verticaux
Apprenez à créer un menu à onglets verticaux avec CSS et JavaScript.
Onglets verticaux
Les onglets sont parfaits pour les applications Web d'une seule page ou pour les pages Web capables d'afficher différents sujets.
Créer des onglets verticaux basculables
Étape 1) Ajoutez du HTML :
Exemple
<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>
<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
is the capital of France.</p>
</div>
<div id="Tokyo" class="tabcontent">
<h3>Tokyo</h3>
<p>Tokyo is the capital of Japan.</p>
</div>
Créez des boutons pour ouvrir le contenu de l'onglet spécifique. Tous les éléments <div> avec class="tabcontent"
sont masqués par défaut (avec CSS & JS) - lorsque l'utilisateur clique sur un bouton - il ouvrira le contenu de l'onglet qui "correspond" à ce bouton.
Étape 2) Ajoutez CSS :
Stylisez les boutons et le contenu de l'onglet :
Exemple
* {box-sizing: border-box}
/* Style the tab */
.tab {
float: left;
border: 1px solid #ccc;
background-color: #f1f1f1;
width: 30%;
height: 300px;
}
/* Style the buttons that are used to open the tab content */
.tab button {
display: block;
background-color: inherit;
color: black;
padding: 22px 16px;
width: 100%;
border: none;
outline: none;
text-align: left;
cursor: pointer;
transition: 0.3s;
}
/* Change
background color of buttons on hover */
.tab button:hover {
background-color: #ddd;
}
/* Create an active/current "tab button"
class */
.tab button.active {
background-color:
#ccc;
}
/* Style the tab content */
.tabcontent {
float: left;
padding: 0px 12px;
border: 1px solid #ccc;
width: 70%;
border-left: none;
height: 300px;
}
Étape 3) Ajoutez JavaScript :
Exemple
function openCity(evt, cityName) {
// Declare all
variables
var i, tabcontent, tablinks;
// Get all elements with class="tabcontent" and hide them
tabcontent
= document.getElementsByClassName("tabcontent");
for (i = 0; i < tabcontent.length; i++) {
tabcontent[i].style.display = "none";
}
// Get all elements with class="tablinks" and remove
the class "active"
tablinks = document.getElementsByClassName("tablinks");
for (i = 0; i <
tablinks.length; i++) {
tablinks[i].className = tablinks[i].className.replace(" active", "");
}
// Show the current tab, and add an "active" class to
the link that opened the tab
document.getElementById(cityName).style.display = "block";
evt.currentTarget.className += " active";
}
Conseil : consultez également la section Comment - Onglets horizontaux .