スマホサイトのナビゲーションの例は新しい記事を書きましたのでそちらも参考にしてください。(2015/10/23)
ハンバーガーボタンをクリックするとナビゲーションがアコーディオン状で展開されます。
jQueryを使用していますが、簡単な内容ですから自由にカスタマイズできます。
ヘッダーの高さは奇跡の44pxとして使いやすい高さに設定しました。
サンプルは360pxより幅が小さい場合にスマホ用のナビゲーションに切り替えます。画面を徐々に小さくしても反応しません。
実際のスマホなどで確認するか,画面を360px以下にしてリロードするなどして確認してください。
スマホサイト用のナビゲーションのサンプル
HTMLコードの例
<header> <div class="title"><h1><a href="#">ITStudio</a></h1></div> <div class="button-toggle"><span class="off">X</span><span class="on">≡</span></div> <div class="menu"> <ul> <li><a href="#">Photoshop</a></li> <li><a href="#">Illustrator</a></li> <li><a href="#">HTML&CSS</a></li> <li><a href="#">jQuery</a></li> <li><a href="#">WordPress</a></li> </ul> </div> </header>
CSSの例
body { margin:0; padding: 0; background: #f0f0f0; } img { border:none; } header { background: #ea68a2; position: relative; height: 44px; border-bottom: 1px solid #fff; } .button-toggle { position: absolute; font-family:"MS ゴシック", "MS Gothic", "Osaka-等幅", Osaka-mono, monospace; float: left; width: 30px; height: 30px; margin: 7px; color: #fff; font-size: 30px; line-height: 30px; text-align: center; box-shadow: 0 0 0 1px #fff; cursor:pointer; } .off{ display:none; position:absolute; left:0; } .on{ position:absolute; left:0; } .title { float: left; height: 5px; line-height: 50px; width: 100%; text-align: center; } .title h1 { margin: 0; font-size: 20px; } .title h1 a { color: #fff; text-decoration: none; } .menu { position: absolute; top:45px; width: 100%; background: #ea68a2; color: #fff; overflow: hidden; } .menu ul { padding: 0; margin: 0; list-style: none; } .menu li { position: relative; } .menu a { display: block; color: #fff; text-decoration: none; padding: 5px 20px; border-bottom: 1px solid #fff; height: 40px; line-height: 40px; font-size: 20px; } .menu a:hover { background: #8c97cb; } @media screen and (min-width: 361px) { header { background:#03F; position: relative; height: 100px; border-bottom: 0; } .button-toggle { display:none; } .menu { background:#03F; } .menu ul{ background:#03F; margin:auto; width:800px; } .menu li { float:left; width:150px; background:#03F; } .menu a { border-bottom:none; } }
jQueryの例
$(function(){ if(window.matchMedia("(max-width:360px)").matches){ $(".menu").css("display","none"); $(".button-toggle").on("click", function() { $(".menu").slideToggle(),$(".on").toggle(1000),$(".off").toggle(1000); }); } });
ちなみに、ハンバーガーボタンの3本線をテキストで表示するには、「ごうどう」で変換すると出てきます。ユークリッド幾何学で使われる記号です。