Miten etsiä tai suodattaa pudotusvalikko
- Edellinen sivu Suodattimet elementtejä
- Seuraava sivu Järjestetyt luettelot
Opit, miten käyttää CSS:ää ja JavaScriptiä etsiäksesi projekteja pudotusvalikosta.
Suodata pudotusvalikko
Luo klikattava pudotusvalikko
Luo pudotusvalikko, joka näkyy, kun käyttäjä napsauttaa painiketta.
Vaihe 1 - Lisää HTML:
<div class="dropdown"> <button onclick="myFunction()" class="dropbtn">Pudotusvalikko</button> <div id="myDropdown" class="dropdown-content"> <input type="text" placeholder="Haku.." id="myInput" onkeyup="filterFunction()"> <a href="#about">Tietoa</a> <a href="#base">Perus</a> <a href="#blog">Blogi</a> <a href="#contact">Yhteydenotto</a> <a href="#custom">Mukautettu</a> <a href="#support">Tuki</a> <a href="#tools">Työkalut</a> </div> </div>
Esimerkki selityksestä:
Voit käyttää mitä tahansa elementtiä avataksesi pudotusvalikon, esimerkiksi <button>, <a> tai <p>-elementti.
Luo pudotusvalikko käyttämällä konttietelementtiä (esim. <div>) ja lisää siihen pudotusvalikon linkit.
Käytä <div>-elementtiä peittääksesi painikkeen ja toisen <div>:n, jotta CSS voi määrittää pudotusvalikon oikein.
Vaihe 2 - Lisää CSS:
/* Pudotusvalikko-painike */ .dropbtn { background-color: #04AA6D; color: white; padding: 16px; font-size: 16px; border: none; cursor: pointer; } /* Pudotusvalikon painikkeen hiiren osoitin päällä ja fokusoitu tila */ .dropbtn:hover, .dropbtn:focus { background-color: #3e8e41; } /* Haku-kenttä */ #myInput { box-sizing: border-box; background-image: url('searchicon.png'); background-position: 14px 12px; background-repeat: no-repeat; font-size: 16px; padding: 14px 20px 12px 45px; border: none; border-bottom: 1px solid #ddd; } /* Kun hakukenttä saa fokuksen tai napsautetaan */ #myInput:focus {outline: 3px solid #ddd;} /* Kontti <div> - käytetään pudotusvalikon sisällön sijoittamiseen */ .dropdown { position: relative; display: inline-block; } /* Pudotusvalikon sisältö (oletusarvoisesti piilotettu) */ .dropdown-content { display: none; position: absolute; background-color: #f6f6f6; min-width: 230px; border: 1px solid #ddd; z-index: 1; } /* Pudotusvalikon sisäiset linkit */ .dropdown-content a { color: black; padding: 12px 16px; text-decoration: none; display: block; } /* Muuta pudotusvalikon linkkien väri, kun hiiren osoitin on päällä */ .dropdown-content a:hover {background-color: #f1f1f1} /* Näytä pudotusvalikko (kun käyttäjä napsauttaa pudotusvalikko painiketta, lisää tämä luokka .dropdown-content-konttiin JS:n avulla) */ .show {display:block;}
Esimerkki selityksestä:
Olemme suunnitelleet pudotusvalikon painikkeen tyylin, mukaan lukien taustaväri, sisätilat, osoitetun tilan vaikutukset jne.
.dropdown
luokkaa käytetään position:relative
,sillä haluamme, että pudotusvalikoitu sisältö sijaitsee täsmälleen pudotusvalikon painikkeen alla (käyttämällä position:absolute
toteutus).
.dropdown-content
luokka sisältää todellisen pudotusvalikon. Oletuksena se on piilossa ja näkyy osoitettaessa (katso alla). Huomioi,min-leveys
on asetettu 230px. Voit muokata sitä tarpeen mukaan. Huomio: Jos haluat, että pudotusvalikon sisällön leveys on sama kuin pudotusvalikon painikkeen leveys, voit asettaa leveys
Asetettu 100% (ja ylitetty
Asetettu arvoksi auto, jotta rullaus voidaan ottaa käyttöön pienillä näytöillä).
Hakukenttä (#myInput) on suunniteltu tyyliin, jotta se sopii pudotusvalikon sisään. Olemme lisänneet hakukuvakkeen, joka sijaitsee hakukentän vasemmalla puolella, ja se viittaa siihen, että tämä on todella hakukenttä.
Vaihe kolme - Lisää JavaScript:ää:
/* Kun käyttäjä napsauttaa painiketta, vaihdetaan piilossa olevan ja näkyvän välillä */ function myFunction() { document.getElementById("myDropdown").classList.toggle("show"); } function filterFunction() { var input, filter, ul, li, a, i; input = document.getElementById("myInput"); filter = input.value.toUpperCase(); div = document.getElementById("myDropdown"); a = div.getElementsByTagName("a"); for (i = 0; i < a.length; i++) { txtValue = a[i].textContent || a[i].innerText; if (txtValue.toUpperCase().indexOf(filter) > -1) { a[i].style.display = ""; } else { a[i].style.display = "none"; } } }
Liittyvät sivut
Oppitunnit:CSS-laskuvalikko
Oppitunnit:Miten luoda: Ota käyttöön hiiren viivalla oleva laskuvalikko
- Edellinen sivu Suodattimet elementtejä
- Seuraava sivu Järjestetyt luettelot