【お知らせ】ヘッダーにハンバーガーメニューを表示しました

SPNSORED LINK

SPNSORED LINK

ヘッダーにハンバーガーメニューを追加しました。

ハンバーガーに似た見た目の三本線のあれです。タップするとこんな感じで、モーダルウィンドウでメニューが表示されるようになっています。

IMG 1249

GRIx4zWr

ちなみにヘッダーは下スクロールで消えるようになってたりします。上にスクロールすると再登場するっていう今流行りのアレです。

メニューにはそれぞれの「ちゃんねる」を表示することにしました。今まで「カテゴリ」と呼んでいたものを試験的に「ちゃんねる」と呼んでみることにします。今後新しい企画(現在考え中です…!)をやるときは、こちらに新しい「ちゃんねる」を追加していきたいと思っています!

ゆくゆくは「ちゃんねる」のオーナーみたいな人を立てて、そこでコミュニティが生まれたら良いなあなんて思ってたりします。


技術的な話


※ このブログは僕のプログラミングの試し切りにも使ってたりします。なので、ちょっと技術的な話も書き残しておこうかなと思います。

ハンバーガーメニューについては、HTMLとCSSだけで実装できます。モーダルウィンドウの表示にはJavaScript(jQuery)を使っています。

マークアップはspan要素を3つ使ってます。それぞれのspanをタップしたときにアニメーションするようにしています。

<a class="jsc-menu-trigger jsc-modal-open header-menu" href="#">
  <span></span>
  <span></span>
  <span></span>
</a>

CSSはこんな感じで当てます。それぞれのspanに対して45°回転を加えます。

.jsc-menu-trigger,
.jsc-menu-trigger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}

.jsc-menu-trigger {
  position: relative;
  margin-top: 18px;
  width: 16px;
  height: 48px;
}

.jsc-menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: $black;
  border-radius: 4px;
}

.jsc-menu-trigger span:nth-of-type(1) {
  top: 0;
}

.jsc-menu-trigger span:nth-of-type(2) {
  top: 6px;
}

.jsc-menu-trigger span:nth-of-type(3) {
  top: 12px;
}

.jsc-menu-trigger.active span:nth-of-type(1) {
  -webkit-transform: translateY(6px) rotate(45deg);
  transform: translateY(6px) rotate(45deg);
}

.jsc-menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
}

.jsc-menu-trigger.active span:nth-of-type(3) {
  -webkit-transform: translateY(-6px) rotate(-45deg);
  transform: translateY(-6px) rotate(-45deg);
}

このへんのコードはGitHubにスニペットとして公開してるのでもし興味ある人いれば。
https://nikke1925.github.io/snippet/
https://github.com/nikke1925


さいごに


みなさんが参加しやすいブログにしていきたいと思っておりますので、今後ともにっけちゃんねるをよろしくお願いします。