シンプルなハンバーガーメニュー【簡単】
公開日:こんにちは、ゆきまるです。
コーディング案件でハンバーガーメニューは幾度となく使ってきましたね~。
何回も使うので、シンプルなハンバーガーメニューが書けるととても便利ですよね。
というわけで今回は、出来る限り無駄を削った、
分かりやすい構造で変更のしやすいハンバーガーメニューを紹介します。
シンプルなハンバーガーメニューのデモ
動作の確認はResultボタンから。
ソースコードは下にものせています。
See the Pen hamburger by ゆきまる (@yukimaru-org) on CodePen.
シンプルなハンバーガーメニューのソースコード
CodePenはデモ用です。
見やすいようにソースコードも並べておきます。
-
HTML
-
<div class="header-btn" id="header_btn"> <div class="bar"></div> <div class="bar"></div> <div class="bar"></div> </div>
-
CSS
-
.header-btn .bar { width: 20px; height: 2px; background-color: #000; transition: .2s; } .header-btn .bar + .bar { margin-top: 6px; } .header-btn.js-active .bar:nth-of-type(1) { transform: translateY(8px) rotate(-45deg); } .header-btn.js-active .bar:nth-of-type(2) { opacity: 0; } .header-btn.js-active .bar:nth-of-type(3) { transform: translateY(-8px) rotate(45deg); }
-
JavaScript
-
window.onload = function () { var headerBtn = document.getElementById('header_btn'); headerBtn.addEventListener('click', function () { this.classList.toggle('js-active'); }); };
このハンバーガーメニューの特長
このハンバーガーメニューの特長は以下。
position
不使用::before
、::after
不使用- 全部ブロック要素
- 全部
div
どうですか?小細工はせずにシンプルさを追求しました。
大きさや間隔、アニメーションを自由に調整して使ってくださいね。