SnippetUI

Sticky Navbar

Komponen bilah navigasi lengket yang membeku dengan efek morfisme kaca dan berubah menjadi gaya ringkas saat Anda menggulir.

HTMLCSSJavaScript

Pratinjau

Mensimulasikan navigator tetap glassmorphic dengan pengguliran. Klik tombol di pratinjau untuk melihat efek bergulir.

Bidang konten 1 — Silakan gulir ke bawah
Bidang konten 2
Bidang konten 3
Bidang konten 4

Kasus penggunaan dan fitur

  • Halaman Arahan/Portofolio: Ekspresi navigator berubah saat Anda menggulir, memberikan kesan dibuat dengan baik.

  • Cocok untuk tema gelap: backdrop-filter: blur Glassmorphism terlihat sangat bagus pada latar belakang gelap.

  • Memanfaatkan position: sticky: Maksimalkan kinerja dengan memanfaatkan position: sticky di CSS alih-alih hanya mengandalkan JavaScript.

Poin desain dan UX

  1. Menembak pada gulir 10px: Morfisme kaca muncul pada waktu netral.

  2. Perubahan padding: Dikurangi dari 1.25rem to 0.75rem agar lebih kompak dan mengamankan area konten yang lebih luas.

  3. Halus dengan transition: Ciptakan perubahan alami dengan melakukan transisi secara bersamaan pada empat properti latar belakang, buram, bayangan kotak, dan bantalan.

Cara menyesuaikan

Ubah ambang awal gulir:


// memicu sebelumnya (5px)

if (demo.scrollTop > 5) { ... }



// memicu nanti (50px)

if (demo.scrollTop > 50) { ... }

tambahkan tautan:


<li><a href="#services">melayani</a></li>

<li><a href="#blog">blog</a></li>

Kode implementasi

<nav class="snav-bar" id="sticky-nav">

<div class="snav-logo">BRAND</div>

<ul class="snav-links">

  <li><a href="#">Home</a></li>

  <li><a href="#">About</a></li>

  <li><a href="#">Work</a></li>

</ul>

<button class="snav-cta">Contact</button>

</nav>



<style>
.snav-bar {

position: sticky;

top: 0;

z-index: 100;

width: 100%;

box-sizing: border-box;

padding: 1.25rem 2rem;

display: flex;

align-items: center;

justify-content: space-between;

gap: 1.5rem;

transition: background 0.3s ease, backdrop-filter 0.3s ease, box-shadow 0.3s ease, padding 0.3s ease;

}

.snav-bar.scrolled {

background: rgba(15,23,42,0.75);

backdrop-filter: blur(16px);

box-shadow: 0 1px 0 rgba(255,255,255,0.08), 0 8px 32px rgba(0,0,0,0.4);

padding: 0.75rem 2rem;

}
</style>



<script>

window.addEventListener('scroll', function() {

var nav = document.getElementById('sticky-nav');

if (window.scrollY > 10) nav.classList.add('scrolled');

else nav.classList.remove('scrolled');

});

</script>

Status kompatibilitas peramban

| Peramban | Status kompatibilitas |

|--------|-------|

| Chrome 76+ | ✅ Sepenuhnya kompatibel |

| Firefox 103+ | ✅ Kompatibel |

| Safari 9+ | ✅ Sepenuhnya kompatibel |

| Tepi 79+ | ✅ Sepenuhnya kompatibel |

backdrop-filter tidak didukung oleh beberapa browser lama, namun latar belakang semi-transparan background: rgba(...) sudah cukup sebagai cadangan.