Menu
CoddyTech

Açılır menü

Coddy'nin HTML Journey'sinin Pratik Ön Yüz bölümünün bir parçası. Ders 20 / 35.

Açılır menü, kullanıcı üzerine geldiğinde veya menü öğesine odaklandığında daha fazla bağlantı gösteren bir gezinme öğesidir. Açılır menüler JavaScript kullanılarak oluşturulabilse de bu bölümde, gizli menüyü görünür kılmak için :hover veya :focus-within kullanan yalnızca CSS yaklaşımına odaklanıyoruz.

Neden kullanılırlar:

  • Gezinme çubuklarında yerden tasarruf sağlar.
  • Arayüzün temiz ve düzenli kalmasını sağlar.
  • Uygun şekilde uyarlandığında mobil öncelikli ve duyarlı tasarımlarda iyi çalışır.

HTML:

<div class="dropdown">
  <button class="dropdown-button">Menu</button>
  <div class="dropdown-content">
    <a href="#">Option 1</a>
    <a href="#">Option 2</a>
    <a href="#">Option 3</a>
  </div>
</div>

CSS: 

//The .dropdown is position: relative 
//so the dropdown content can be positioned correctly with position: absolute.
.dropdown {
  position: relative;
  display: inline-block;
}
//The .dropdown-content is hidden by default using display: none.
.dropdown-content {
  display: none;
  position: absolute;
}
//When the user hovers over the .dropdown container, 
//the .dropdown-content is shown using display: block.
.dropdown:hover .dropdown-content {
  display: block;
}

Bu kodla, açılır menü kapsayıcısının (düğme dahil) üzerine geldiğinde açılır menü içeriği görünür.

challenge icon

Görev

Kolay

Sana, "Select Color" etiketli bir düğmesi ve üç seçeneği olan bir açılır menünün HTML kodu veriliyor: Red, Green, Blue.

Görevin, açılır menüyü CSS ile şu şekilde biçimlendirmek:

  1. Seçenekler varsayılan olarak gizli olmalı.
  2. Kullanıcı açılır menü kapsayıcısının üzerine geldiğinde seçenekler görünür hale gelmeli.

Kendin dene

<!DOCTYPE html>
<html>
<head>
  <title>Dropdown menu</title>
  <style>
    body {
      font-family: Arial, sans-serif;
      padding: 50px;
      background-color: #f0f0f0;
    }

    .dropdown {
      position: relative;
      display: inline-block;
    }

    .dropdown-button {
      padding: 10px 20px;
      font-size: 16px;
      cursor: pointer;
      border: 1px solid #333;
      border-radius: 5px;
      background-color: #ffffff;
    }

    .dropdown-content {
      position: absolute;
      top: 100%;
      left: 0;
      background-color: #ffffff;
      min-width: 160px;
      border: 1px solid #ccc;
      border-radius: 5px;
      box-shadow: 0 2px 5px rgba(0,0,0,0.2);
      z-index: 1;
    }

    .dropdown-content a {
      display: block;
      padding: 10px;
      text-decoration: none;
      color: #333;
    }

    .dropdown-content a:hover {
      background-color: #f2f2f2;
    }

    /* Show dropdown on hover or focus */
    .dropdown:hover .dropdown-content,
    .dropdown:focus-within .dropdown-content {

    }
  </style>
</head>
<body>

  <div class="dropdown">
    <button class="dropdown-button">Select Color</button>
    <div class="dropdown-content">
      <a href="#">Red</a>
      <a href="#">Green</a>
      <a href="#">Blue</a>
    </div>
  </div>

</body>
</html>
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Pratik Ön Yüz bölümündeki tüm dersler

Kendi başına pratik yap: Web playground