プレビュー

スクロールでガラスモーフィズムの固定ナビガーをシミュレートします。プレビュー内のボタンをクリックするとスクロール効果が確認できます。

コンテンツエリア 1 — 下にスクロールしてね
コンテンツエリア 2
コンテンツエリア 3
コンテンツエリア 4

ユースケースと特徴

デザインとUXのポイント

  1. スクロール10pxで発火: ニュートラルなタイミングでガラスモーフィズムが現れる。

  2. paddingの変化: 1.25rem → 0.75rem の縮小でコンパクトになり、コンテンツ領域を広く確保。

  3. transition でスムーズに: background・blur・box-shadow・paddingの4プロパティを同時にトランジションさせることで自然な変化。

カスタマイズ方法

スクロール開始しきい値を変える:


// トリガーを早めに (5px)

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



// トリガーを遅く (50px)

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

リンクを追加する:


<li><a href="#services">サービス</a></li>

<li><a href="#blog">ブログ</a></li>

実装コード

<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>

ブラウザ対応状況

| ブラウザ | 対応状況 |

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

| Chrome 76+ | ✅ 完全対応 |

| Firefox 103+ | ✅ 対応 |

| Safari 9+ | ✅ 完全対応 |

| Edge 79+ | ✅ 完全対応 |

backdrop-filter は一部古いブラウザで未対応ですが、フォールバックとして background: rgba(...) の半透明背景だけで十分機能します。