Rotating Navigation Örneği

Bu yazımızda, HTML, CSS ve JavaScript kullanarak rotating navigation örneği oluşturacağız. Bu örnek ile şu konuları pekiştireceğiz:

  1. ☑️ Temel HTML kullanımı
    • İçinde bir dönen navigasyon menüsü olan responsif bir web sayfası olan projemizin HTML kısmı sayfanın iskeletini oluşturur. İçinde, sayfa başlığı, dönen butonlar, içerik ve gezinme bölümü bulunmaktadır. Font Awesome ikonları kullanarak menüde görsel efekt sağlanmaktadır.
  2. ☑️ CSS ile sayfanın stilini ve düzenini sağlamayı
    • Bu bölüm, sayfanın renklerini, yazı tiplerini, butonların görünümünü ve sayfanın dönen navigasyon menüsü için animasyonları stilledik. İçinde, sayfanın dönme efekti, butonların dönme efekti ve menü öğelerinin animasyonları bulunmaktadır.
  3. ☑️ JavaScript ile işlevselliğin nasıl sağlandığını
    • Sayfadaki etkileşimi ve animasyonları kontrol etmeyi JavaScript ile sağladık. İçinde, açma ve kapatma butonlarının tıklanarak sayfanın dönen navigasyon menüsünü açma ve kapatma işlemleri yapılmaktadır.

Projemiz, dönen navigasyon menüsü olan responsif bir web sayfası tasarlamayı içermektedir. Projenin işleyişini CodePen üzerinden inceleyebilirsiniz:

See the Pen Rotating Navigation by 1kodum (@1kodum) on CodePen.

⭐ HTML kodu

⭐ CSS kodu

  1. Genel stiller:
    • Google Fonts’tan “Roboto” yazı tipi içe aktarılır ve tüm sayfa için kullanılır.
    • * seçici ile tüm elemanların box-sizing özelliği “border-box” olarak ayarlanır. Bu, eleman boyutlarının padding ve border’ı içerecek şekilde hesaplanmasını sağlar.
    • body etiketi, yazı tipi, arka plan rengi, metin rengi ve diğer bazı özellikler ile ilgili genel stil tanımlarına sahiptir.
  2. .container ve dönen navigasyon:
    • .container sınıfı, sayfanın ana içeriği için arka plan rengini, boyutunu ve döndürme animasyonunu tanımlar.
    • .container.show-nav sınıfı, navigasyonun açık olduğu durumda sayfanın dönme açısını tanımlar.
    • .circle-container ve .circle sınıfları, dönen düğmelerin stilini ve konumunu tanımlar.
    • .container.show-nav .circle seçicisi, navigasyonun açık olduğunda dönen düğmenin dönme açısını tanımlar.
  3. Düğme stilleri:
    • .circle button seçicisi, dönen düğmelerin pozisyonunu, boyutlarını, arka planını ve metin stilini tanımlar.
    • .circle button:focus seçicisi, düğmeye odaklandığında (ör. tıklama veya klavyeyle seçim) çerçevenin görünmemesini sağlar.
  4. Navigasyon menüsü stilleri:
    • nav, nav ul, nav ul li ve nav ul li i seçicileri, navigasyon menüsünün konumunu, stilini ve içerdiği ikonların boyutunu tanımlar.
    • Navigasyon menüsündeki öğelerin animasyonları nav ul li, nav ul li + li ve nav ul li + li + li seçicileri ile tanımlanır.
  5. İçerik bölümü stilleri:
    • .content ve .content img seçicileri, içeriğin boyutlarını ve resimlerin en büyük genişliğini tanımlar.
    • .content h1, .content small ve .content p seçicileri, başlıklar, küçük metin ve paragraf metinleri için stil tanımlar.

⭐ JavaScript kodu

  1. İlk olarak, HTML’deki open, close ve container ID’li elemanları DOM’dan (Doküman Nesne Modeli) seçip değişkenlere atadık.
  2. open düğmesine tıklandığında gerçekleşecek olan işlemler için bir olay dinleyicisi (event listener) ekledik. “click” olayı gerçekleştiğinde, olay dinleyicisi aşağıdaki işlemleri yapar:
    • Anonim fonksiyon çalıştırılır.
    • Bu işlev, container elemanının sınıf listesine “show-nav” sınıfını ekler (classList.add("show-nav")).
    • Bu sınıfın eklenmesi, CSS’teki .container.show-nav seçicisi ile tanımlanan dönme animasyonunu tetikler.
  3. Benzer şekilde close düğmesine tıklandığında gerçekleşecek olan işlemler için bir olay dinleyicisi ekledik. “click” olayı gerçekleştiğinde, olay dinleyicisi aşağıdaki işlemleri yapar:
    • Anonim fonksiyonçalıştırılır.
    • Bu işlev, container elemanının sınıf listesinden “show-nav” sınıfını kaldırır (classList.remove("show-nav")).
    • Bu sınıfın kaldırılması, dönme animasyonunun tersine dönmesini tetikler ve sayfa orijinal konumuna geri döner.

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu