HIZLI
TEKLİF AL

CSS Dropdown Menü

Aşağıdaki açılır menü örneğini inceleyiniz ve sonra kendiniz yapmaya çalışınız.

örnekte 1 adet ul liste elemanları içerisinde bir adet ul liste elamanı bulunmaktadır.

li içerisindeki ul position:absolute; olduğu için kapsayıcısı olan li'ye position:absolute; değeri verilirse açılır menu li içerisinde konumlandırılır.

Önemli : Aşağıda yorum satırları içerisinde tüm gerekli CSS kodlarının ne için kullanıldığını açıkladık. Konuyu daha iyi anlamak için /* Yorum satırlarını */ okumayı ihmal etmeyiniz.

 

 

Sayfa Başlıkları

Dropdown Menü HTML


<ul class="demo-dropdown">
    <li><a href="#">Dropdown Link</a>
        <ul>
            <li><a href="#">Link</a></li>
            <li><a href="#">Link</a></li>
            <li><a href="#">Link</a></li>
            <li><a href="#">Link</a></li>
        </ul>
    </li>
</ul>
                        

Dropdown Menü CSS


.demo-dropdown a {
    text-decoration: none; /* Link default gelen alt çizgi kaldırıldı */
    font-weight: 600;
    font-size: 16px;
    display: block; /* a elemanları Block-Level Düzeyine getirilerek alt alta gelmesi sağlandı */
  }
  
  .demo-dropdown > li {
    position: relative; /* içerisinde ul position:absolute değerine sahip olduğu için kapsayıcı li relative olmalı */
    display: inline-block;
  }
  
  .demo-dropdown > li > a {
    color: #fff;
    background: #e21346;
    padding: 20px 25px;
  }
  
  .demo-dropdown > li ul {
    position: absolute; /* Açılır menü mouse üzerine gelerek açıldığında aşağıdaki öğeleri kaydırması istenmiyor. Bu yüzden absolute. */
    display: none; /* Açılır menü li:hover olmadığı sürece gizlencektir */
    top: 100%; /* Top 100% değeri parent li'ye göre hesaplanır ve li'nin bittiği noktayı göstermektedir. */
    left: 0; /* left:0 değeri li'nin sol başlangıç değerini referans alır ve ul'yi aynı hizda konumlandırı. */
    width: 250px;
    border: 2px solid #e2e2e2;
    background-color: #fff;
  }
  
  .demo-dropdown > li ul li a {
    color: #333;
    padding: 10px 15px;
    border-bottom: 1px solid #e2e2e2;
  }
  
  .demo-dropdown > li ul li:hover a {
    background-color: rgba(0, 0, 0, 0.05);
  }
  
  .demo-dropdown > li:hover ul {
    display: block; /* Açılır menü li'nin üzerine mouse ile gelindiğinde görünür olacaktır. */
  }
                        

Sonuç

Yukarıdaki örnekte CSS ile basit bir dropdown-menu yaptık. Açılır menü position:absloute; değerine sahip. Açılır menüyü li içerisinde tutabilmek için parent li'sine position:absolute: değeri verilmelidir.