Miten luodaan: klikattavat ponnahdusvalikot

Opi, miten luot klikattavia ponnahdusvalikoita CSS:n ja JavaScriptin avulla.

Ponnahdusvalikko

Ponnahdusvalikko on vaihdettava valikko, joka mahdollistaa käyttäjän valinnan määritetyistä listoista:

Kokeile itse

Luo klikattava ponnahdusvalikko

Luo ponnahdusvalikko, joka näkyy käyttäjän klikatessa painiketta.

Vaihe 1 - Lisää HTML:

<div class="dropdown">
  <button onclick="myFunction()" class="dropbtn">Dropdown</button>
  <div id="myDropdown" class="dropdown-content">
    <a href="#">Linkki 1</a>
    <a href="#">Linkki 2</a>
    <a href="#">Linkki 3</a>
  </div>
</div>

Esimerkki selityksestä:

Voit käyttää mitä tahansa elementtiä avataksesi alasvetovalikon, esimerkiksi <button>-, <a>- tai <p>-elementti.

Luo alasvetovalikko konteinerielementin (kuten <div>) avulla ja lisää alasvetovalikon linkit siihen.

Käytä <div>-elementtiä kapseliaaksesi painikkeen ja <div>-elementin, jotta voit määrittää alasvetovalikon sijainnin CSS:n avulla.

Toinen vaihe - Lisää CSS:

• Alasvetovalikon painike:
.dropbtn {
  background-color: #3498DB;
  color: white;
  padding: 16px;
  font-size: 16px;
  border: none;
  cursor: pointer;
}
• Alasvetovalikon painikkeen hiiren osoitettu ja keskittyminen:
.dropbtn:hover, .dropbtn:focus {
  background-color: #2980B9;
}
• Konteineri <div> - tarvittavat elementit alasvetovalikon sijainnin määrittämiseksi:
.dropdown {
  position: relative;
  display: inline-block;
}
• Alasvetovalikon sisältö (oletusarvoisesti piilotettu):
.dropdown-content {
  display: none;
  position: absolute;
  background-color: #f1f1f1;
  min-width: 160px;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  z-index: 1;
}
• Alasvetovalikon sisäiset linkit:
.dropdown-content a {
  color: black;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
}
• Vaihda alasvetovalikon linkin väri hiiren osoitettu ollessa:
.dropdown-content a:hover {background-color: #ddd;}
/* Näytä pudotusvalikko (kun käyttäjä napsauttaa pudotusvalikon painiketta, lisää tämä luokka .dropdown-content -konttorissa JS:llä) */
.show {display:block;}

Esimerkki selityksestä:

Me asetamme pudotusvalikon painikkeelle taustavärin, sisennyksen, hiiren osoittimen yllä olevan efektin ja muiden tyylejä.

.dropdown luokkaa käyttämällä position:relative,kun haluamme sijoittaa pudotusvalikon sisällön pudotusvalikon painikkeen alla (käyttämällä position:absolute),tämä on välttämätöntä.

.dropdown-content luokka sisältää todellisen pudotusvalikon. Se on oletuksena piilotettu ja se näkyy hiiren osoittimen yllä (katso alla). Huomaa, että vähimmäisleveys asetetaan 160px. Voit muuttaa tätä arvoa tarpeen mukaan. Vinkki: Jos haluat pudotusvalikon sisällön leveyden olevan sama kuin pudotusvalikon painike, voit asettaa leveyden 100% (ja pienissä näytöissä) overflow:auto ottaaksemme käyttöön vierityksen).

Emme käytä reunaa, vaan box-shadow ominaisuus, jotta pudotusvalikko näyttää kuin "kortti". Käytämme myös z-index Aseta pudotusvalikko muiden elementtien eteen.

Vaihe 3 - Lisää JavaScript:

/* Kun käyttäjä napsauttaa painiketta, vaihda pudotusvalikon sisällön piilottaminen ja näyttäminen */
function myFunction() {
  document.getElementById("myDropdown").classList.toggle("show");
}
// Jos käyttäjä napsauttaa pudotusvalikon ulkopuolella, sulje pudotusvalikko
window.onclick = function(event) {
  if (!event.target.matches('.dropbtn')) {
    var dropdowns = document.getElementsByClassName("dropdown-content");
    var i;
    for (i = 0; i < dropdowns.length; i++) {
      var openDropdown = dropdowns[i];
      if (openDropdown.classList.contains('show')) {
        openDropdown.classList.remove('show');
      }
    }
  }
}

Kokeile itse

Oikealle tasatettu pudotusvalikko

Kokeile itse

Navigointirivin pudotusvalikko

Kokeile itse

Hakemisto (suodatus) pudotusvalikko

Kokeile itse

Liittyvät sivut

Oppitunnit:CSS pudotusvalikko

Oppitunnit:Miten luoda hover pudotusvalikko