jQueryで作る、『スティッキーヘッダー(Sticky header)』を紹介します。
スティッキーヘッダーは、シンプルjQueryで実装でき、スクロールしてもナビゲーションを見失いません。
ホームページをスッキリさせつつ、迷子知らず!
Windowのスクロールイベントによるクラスの脱着のみのシンプル構造。
特定の位置までスクロールしたらヘッダーにクラスをつけてCSSを変更します。
今回のデモでは、CSSにちょっぴりひと工夫。
ヘッダーメニューをパーセント表示にすることでレスポンシブ対応しています。
ぜひあなたのホームページにも、ナビゲーションが上部固定される『スティッキーヘッダー』を取り入れてみてくださいね!!
↓以下がコードサンプルになります。
▼jQuery
<script type="text/javascript"> $(function(){ var _window = $(window), _header = $('.site-header'), helloBottom; _window.on('scroll',function(){ helloBottom = $('.hello').height(); if(_window.scrollTop() > helloBottom){ _header.addClass('fixed'); } else{ _header.removeClass('fixed'); } }); _window.trigger('scroll'); }); </script>
▼CSS
.site-header{ background: #ffffff; display: flex; padding: 20px; position: absolute; justify-content: space-between; width: 100%; } .site-header.fixed{ position: fixed; top: 0; } .content{ line-height: 1.6; margin: 0 auto; padding-top: 100px; width: 800px; } @media screen and (max-width:750px) { .site-header{ font-size: 80%; } .content{ width: 90%; } }
▼HTML
<div class="hello"> <img src="#" width="1600" height="1200" alt="hello"> </div> <header class="site-header fixed"> <h1> <a href="#">Home</a> </h1> <nav class="gnav"> <ul class="gnav_menu"> <li class="gnav_menu_tag"><a href="#">News</a></li> <li class="gnav_menu_tag"><a href="#">About</a></li> <li class="gnav_menu_tag"><a href="#">Service</a></li> <li class="gnav_menu_tag"><a href="#">SNS</a></li> <li class="gnav_menu_tag"><a href="#">Contact</a></li> </ul> </nav> </header>
今回、参考にさせていただいたのは、
ヘッダー・ナビゲーションを固定表示させるアイデア5つ – WEBDESIGNDAYさんの『Contents 3 途中から固定表示』のページです。
ありがとうございます。