Miten luoda: suuri valikko

Opit, miten luoda suuri valikko (kokonaisleveydellä oleva pudotusvalikko navigointipalkissa).

Suuri valikko

Kokeile itse

Luo suuri valikko

Luo pudotusvalikko, joka näkyy, kun käyttäjä siirtää hiiren osoittimen navigointipalkinon elementin päälle.

Vaihe 1 - Lisää HTML:

<div class="navbar">
  <a href="#home">Home</a>
  <a href="#news">News</a>
  <div class="dropdown">
    <button class="dropbtn">Dropdown
      <i class="fa fa-caret-down"></i>
    </button>
    <div class="dropdown-content">
      <div class="header">
        <h2>Mega Menu</h2>
      </div>
      <div class="row">
        <div class="column">
          <h3>Category 1</h3>
          <a href="#">Linkki 1</a>
          <a href="#">Linkki 2</a>
          <a href="#">Linkki 3</a>
        </div>
        <div class="column">
          <h3>Category 2</h3>
          <a href="#">Linkki 1</a>
          <a href="#">Linkki 2</a>
          <a href="#">Linkki 3</a>
        </div>
        <div class="column">
          <h3>Kategoria 3</h3>
          <a href="#">Linkki 1</a>
          <a href="#">Linkki 2</a>
          <a href="#">Linkki 3</a>
        </div>
      </div>
    </div>
  </div>
</div>

Esimerkki selityksestä:

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

Luo pudotusvalikko kontti-elementin (esim. <div class="dropdown-content">) avulla, lisää verkkorakenne (rivit), ja lisää pudotusvalikon linkit riveihin.

Käytä <div class="dropdown">-elementtiä peittääksesi painikkeen ja kontti-elementin (<div class="dropdown-content">), jotta CSS voi määrittää pudotusvalikon oikein.

Toinen vaihe - Lisää CSS:ää:

/* Navigointipalkin kontti */
.navbar {
  overflow: hidden;
  background-color: #333;
  font-family: Arial;
}
/* Navigointipalkin sisällä olevat linkit */
.navbar a {
  float: left;
  font-size: 16px;
  color: white;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
}
/* Pudotusvalikon kontti */
.dropdown {
  float: left;
  overflow: hidden;
}
/* Pudotusvalikon painike */
.dropdown .dropbtn {
  font-size: 16px;
  border: none;
  outline: none;
  color: white;
  padding: 14px 16px;
  background-color: inherit;
  font: inherit; /* Tärkeää puhelimen vertikaalisen tasapainon kannalta */
  margin: 0; /* Tärkeää puhelimen vertikaalisen tasapainon kannalta */
}
/* Hiiren osoittimen yllä navigointipalkin liinkien punainen taustaväri */
.navbar a:hover, .dropdown:hover .dropbtn {
  background-color: red;
}
/* Pudotusvalikon sisältö (oletusarvoisesti piilotettu) */
.dropdown-content {
  display: none;
  position: absolute;
  background-color: #f9f9f9;
  width: 100%;
  left: 0;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  z-index: 1;
}
/* Suuri valikkootsikko (tarvittaessa) */
.dropdown-content .header {
  background: red;
  padding: 16px;
  color: white;
}
/* Näytä pudotusvalikko hiiren osoitettu ollessa */
.dropdown:hover .dropdown-content {
  display: block;
}
/* Luo kolme yhtä leveää saraketta ja aseta ne rinnakkain kellastuviksi */
.column {
  float: left;
  width: 33.33%;
  padding: 10px;
  background-color: #ccc;
  height: 250px;
}
/* Aseta sarakkeen sisällä olevien linkkien tyylejä */
.column a {
  float: none;
  color: black;
  padding: 16px;
  text-decoration: none;
  display: block;
  text-align: left;
}
/* Lisää taustaväri hiiren osoitettu ollessa */
.column a:hover {
  background-color: #ddd;
}
/* Poista sarakkeen jälkeen kellastuminen */
.row:after {
  content: "";
  display: table;
  clear: both;
}

Kokeile itse

Esimerkki selityksestä:

Olemme asettaneet navigointivalikolle ja navigointivalikon linkkeille taustavärin, sisätilan ja muiden tyylejä.

Olemme asettaneet pudotusvalikon painikkeelle taustavärin, sisätilan ja muiden tyylejä.

.dropdown-content luokka sisältää todellisen pudotusvalikon. Se on oletuksena piilotettu ja näkyy hiiren osoitettu ollessa (katso alla). Se sijoitetaan pudotusvalikon painikkeen alla ja leveys asetetaan 100%:iin, jotta se peittää koko näytön.

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

:hover Valitsin näyttää pudotusvalikon, kun käyttäjä osoittaa hiiren pudotusvalikon painikkeeseen.

.column Luokka luo kolme rinnakkain kellastuvaa saraketta pudotusvalikossa (erilaisten luokkien näyttämiseksi).

Responsive suuri valikko

/* Responsive layout - aseta kolme saraketta yhteen, ei rinnakkain */
@media screen and (max-width: 600px) {
  .column {
    width: 100%;
    height: auto;
  }
}

Kokeile itse

Liittyvät sivut

Oppitunti:CSS-laskuri

Oppitunti:Kuinka luoda klikattava pudotusvalikko

Oppitunti:CSS-valikko

Oppitunti:Kuinka luoda reagoiva ylivalikko