Miten luodaan: puunäkymä
- Edellinen sivu Aktiivinen luokka
- Seuraava sivu Poista desimaalit
Opi, miten luot puunäkymän CSS:n ja JavaScriptin avulla.
Puu-näkymä
Puu-näkymä esittää tiedon hierarkkisen näkymän, jossa jokaisella kohteella voi olla useita alikohteita.
Napsauta nuolta avataksesi tai sulkeaksesi puunäkymän haaran.
- Beverages
- Water
- Coffee
- Tea
- Black Tea
- White Tea
- Green Tea
- Sencha
- Gyokuro
- Matcha
- Pi Lo Chun
Puu-näkymä
Vaihe 1 - Lisää HTML:
<ul id="myUL"> <li><span class="caret">Beverages</span> <ul class="nested"> <li>Water</li> <li>Coffee</li> <li><span class="caret">Tea</span> <ul class="nested"> <li>Black Tea</li> <li>White Tea</li> <li><span class="caret">Green Tea</span> <ul class="nested"> <li>Sencha</li> <li>Gyokuro</li> <li>Matcha</li> <li>Pi Lo Chun</li> </ul> </li> </ul> </li> </ul> </li> </ul>
Toinen vaihe - Lisää CSS:
/* Poista oletusarvoinen luettelomerkki */ ul, #myUL { list-style-type: none; } /* Poista isovanhemman ul:n ulkonevuodot ja sisävuodot */ #myUL { margin: 0; padding: 0; } /* Aseta caret/nuolin tyyli */ .caret { cursor: pointer; user-select: none; /* Estä tekstin valitseminen */ } /* Käytä unicodea luodaksesi caret/nuolin ja aseta sen tyyli */ .caret::before { content: "\25B6"; color: black; display: inline-block; margin-right: 6px; } /* Kun napsautetaan caret/nuoli kuvake, kierrä sitä (JavaScriptin avulla) */ .caret-down::before { transform: rotate(90deg); } /* Piilota sisäinen luettelo */ .nested { display: none; } /* Kun käyttäjä napsauttaa caret/nuolta, näytä sisäinen luettelo (JavaScriptin avulla) */ .active { display: block; }
Kolmas vaihe - Lisää JavaScript:
var toggler = document.getElementsByClassName("caret"); var i; for (i = 0; i < toggler.length; i++) { toggler[i].addEventListener("click", function() { this.parentElement.querySelector(".nested").classList.toggle("active"); this.classList.toggle("caret-down"); }); }
Valintapalkki puuväripainotus
Tässä esimerkissä käytämme 'äänestyslaatikkoa' unicodea caretin sijaan:
Esimerkki
- Edellinen sivu Aktiivinen luokka
- Seuraava sivu Poista desimaalit