Hur man skapar: Flikar
- Föregående sida Fältpipa
- Nästa sida Vertikala flikar
Lär dig hur du använder CSS och JavaScript för att skapa valflikar.
Flikar
Flikar är mycket användbara för en-sidiga webbapplikationer eller webbsidor som visar olika ämnen:
London
London är huvudstaden i England.
Paris
Paris är huvudstaden i Frankrike.
Tokyo
Tokyo är huvudstaden i Japan.
Skapa en växlande flik
Steg 1 - Lägg till HTML:
<!-- Tab-länkar --> <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> <!-- Tab-innehåll --> <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 är huvudstaden i Frankrike.</p> </div> <div id="Tokyo" class="tabcontent"> <h3>Tokyo</h3> <p>Tokyo är huvudstaden i Japan.</p> </div>
Skapa knappar för att öppna specifikt flikinnehåll. Alla med class="tabcontent"
s <div>
Element är som standard dolda (genom CSS och JS). När användaren klickar på en knapp öppnas innehållet för den flik som matchar knappen.
Andra steg - Lägg till CSS:
Ställ in stilen för knappar och flikinnehåll:
/* Ställ in stilen för flikarna */ .tab { overflow: hidden; border: 1px solid #ccc; background-color: #f1f1f1; } /* Ställ in stilen för knappen som öppnar flikinnehållet */ .tab button { background-color: inherit; float: left; border: none; outline: none; cursor: pointer; padding: 14px 16px; transition: 0.3s; } /* Ändra bakgrundsfärgen på knappen när den är muspekare */ .tab button:hover { background-color: #ddd; } /* Skapa klassen för aktiv/nuvarande fliklänk */ .tab button.active { background-color: #ccc; } /* Ställ in stilen för flikinnehållet */ .tabcontent { display: none; padding: 6px 12px; border: 1px solid #ccc; border-top: none; }
Tredje steg - Lägg till JavaScript:
function openCity(evt, cityName) { // Deklarera alla variabler var i, tabcontent, tablinks; // Hämta alla element med klass="tabcontent" och göm dem tabcontent = document.getElementsByClassName("tabcontent"); for (i = 0; i < tabcontent.length; i++) { tabcontent[i].style.display = "none"; } // Hämta alla element med klass="tablinks" och ta bort klassen "active" tablinks = document.getElementsByClassName("tablinks"); for (i = 0; i < tablinks.length; i++) { tablinks[i].className = tablinks[i].className.replace(" active", ""); } // Visa den aktuella fliken och lägg till klassen "active" till knappen som öppnade fliken document.getElementById(cityName).style.display = "block"; evt.currentTarget.className += " active"; }
Fade in flik
För att fånga innehållet i fliken, lägg till följande CSS:
.tabcontent { animation: fadeEffect 1s; /* Fade in and out effect lasts 1 second */ } /* Transition from zero opacity to fully opaque */ @keyframes fadeEffect { from {opacity: 0;} to {opacity: 1;} }
Standardvisning av flik
För att öppna en specifik flik vid sidans laddning, använd JavaScript för att "klicka" på den angivna flikknappen:
<button class="tablinks" onclick="openCity(event, 'London')" id="defaultOpen">London</button> <script> // Hämta element med id="defaultOpen" och klicka på det document.getElementById("defaultOpen").click(); </script>
Stäng flik
Om du vill stänga en specifik flik, använd JavaScript genom att klicka på knappen för att dölja fliken:
<!-- Klicka på <span> elementet för att stänga fliken --> <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>
Relaterade sidor
Tutorial:Hur man skapar: vertikala etiketter
- Föregående sida Fältpipa
- Nästa sida Vertikala flikar