W3.Karty nawigacji CSS
Londyn
Londyn jest stolicą Anglii.
Jest to najbardziej zaludnione miasto w Wielkiej Brytanii, z obszarem metropolitalnym liczącym ponad 9 milionów mieszkańców.
Nawigacja w kartach
Nawigacja w kartach to sposób poruszania się po witrynie.
Normalnie nawigacja na kartach wykorzystuje przyciski nawigacyjne (karty) ułożone razem z podświetloną wybraną kartą.
W tym przykładzie użyto elementów o tej samej nazwie klasy (w naszym przykładzie „city”) i zmieniono styl między display:none i display:block, aby ukryć i wyświetlić inną zawartość:
Przykład
<div id="London" class="city">
<h2>London</h2>
<p>London is the capital
of England.</p>
</div>
<div id="Paris" class="city" style="display:none">
<h2>Paris</h2>
<p>Paris is the capital of France.</p>
</div>
<div
id="Tokyo" class="city" style="display:none">
<h2>Tokyo</h2>
<p>Tokyo is the capital of Japan.</p>
</div>
I kilka klikalnych przycisków do otwierania zawartości na kartach:
Przykład
<div class="w3-bar w3-black">
<button class="w3-bar-item w3-button"
onclick="openCity('London')">London</button>
<button
class="w3-bar-item w3-button" onclick="openCity('Paris')">Paris</button>
<button class="w3-bar-item w3-button" onclick="openCity('Tokyo')">Tokyo</button>
</div>
Oraz JavaScript do wykonania zadania:
Przykład
function openCity(cityName) {
var i;
var x = document.getElementsByClassName("city");
for (i = 0; i < x.length; i++) {
x[i].style.display = "none";
}
document.getElementById(cityName).style.display = "block";
}
Wyjaśnienie JavaScript
Funkcja openCity() jest wywoływana, gdy użytkownik kliknie jeden z przycisków w menu.
Funkcja ukrywa wszystkie elementy o nazwie klasy "city" ( display="none" ) i wyświetla element o podanej nazwie miasta ( display="block" );
Zamykane zakładki
Londyn
Londyn jest stolicą Anglii.
Aby zamknąć kartę, dodaj onclick="this.parentElement.style.display='none'" do elementu wewnątrz kontenera kart:
Przykład
<div id="London" class="w3-display-container">
<span onclick="this.parentElement.style.display='none'"
class="w3-button w3-display-topright">X</span>
<h2>London</h2>
<p>London is the capital city of England.</p>
</div>
Aktywna/bieżąca karta
Aby podświetlić bieżącą kartę/stronę, na której znajduje się użytkownik, użyj JavaScript i dodaj klasę koloru do aktywnego linku. W poniższym przykładzie do każdego linku dodaliśmy klasę „tablink”. W ten sposób łatwo jest uzyskać wszystkie linki powiązane z kartami i nadać bieżącemu linkowi do karty klasę „w3-czerwoną”, aby go podświetlić:
Przykład
function openCity(evt, cityName) {
var i, x, tablinks;
x = document.getElementsByClassName("city");
for (i =
0; i < x.length; i++) {
x[i].style.display
= "none";
}
tablinks =
document.getElementsByClassName("tablink");
for (i =
0; i < x.length; i++) {
tablinks[i].className =
tablinks[i].className.replace(" w3-red", "");
}
document.getElementById(cityName).style.display =
"block";
evt.currentTarget.className += "
w3-red";
}
Pionowe zakładki
Przykład
<nav class="w3-sidebar w3-bar-block w3-light-grey" style="width:130px">
<button class="w3-bar-item w3-button" onclick="openCity(event, 'London')">London</button>
<button class="w3-bar-item w3-button" onclick="openCity(event, 'Paris')">Paris</button>
<button class="w3-bar-item w3-button" onclick="openCity(event, 'Tokyo')">Tokyo</button>
</nav>
Animowana zawartość karty
Użyj dowolnej z klas w3-animate- do wygaszania, powiększania lub przesuwania zawartości karty:
Przykład
<div id="London" class="w3-container city w3-animate-left">
<p>London is the capital city of England.</p>
</div>
Galeria obrazów z zakładkami
Kliknij na obrazek:
Przykład
<a href="#" class="w3-hover-opacity" onclick="openImg('Nature');">
<img src="img_nature.jpg" alt="Nature">
</a>
<div id="Nature" class="picture w3-display-container">
<img
src="img_nature_wide.jpg" alt="Nature" style="width:100%">
<span onclick="this.parentElement.style.display='none'"
class="w3-display-topright">×</span>
<div
class="w3-display-bottomleft w3-container">Nature</div>
</div>
Karty w siatce
Korzystanie z kart w układzie trzeciej kolumny. Zwróć uwagę, że zamiast koloru tła dodajemy dolną ramkę do aktywnej karty: