◎ Webデザイン後編/練習問題(下)

【有印良品2019】(メニュー部分)①

某良品ウェブサイト母の日特集をサンプルに練習します。
サンプルにする公式サイトはこちら(2019年度版)


メニュー部分を作る

練習しやすいオリジナルサンプルを用意しました。

▶ 【有印良品:母の日】サンプルを見る
※ メインイメージは、PCとスマホで入れ替えます。(サイズ違いを2パターン用意)
▶ 素材ダウンロード

見本にしやすく、公式サイトの内容をアレンジしています。まずは、メニュー部分から考えて見ましょう。header要素に、ロゴマーク、ナビゲーションを配置します。今回は、<span>を使って、ハンバーガーメニュー(三本ライン)を作る手法を採用します。

① metaの設定


リセットCSS、ビューポート、さらに今回は、jQueryを使用しますので、CDNを読み込みます。


② トグル(ハンバーガーメニュー部分)とナビゲーション


トグルメニュー部分を3つ縦に配置します。


③ スクリプトの記述


クリックすると、展開するように記述します。#nav_toggleをクリックすると、header要素の中にあるnavが展開する」という仕組みです。(500)は、表示・非表示の各動作が完了するまでの時間(ミリ秒)を指定します。下記サンプルでは「500」に指定しているので、0.5秒(500ミリ秒)で動作が完了するように設定されます。時間を指定しない場合は、自動的に400に設定されます。()は、空欄でもOKですが、()外さないようにします。ミリ秒以外では「normal」「slow」「fast」 といった文字列でも指定できます。それぞれ「400ミリ秒」「600ミリ秒」「200ミリ秒」となっています。


【サンプル】
クリックで開くボタンサンプル


● jQueryslideToggle解説ページ

④ CSSの記述


スマホの場合、navは、display: none;で非表示にし、ulのみを用意しておきます。
ハンバーガーメニューをクリックすると、メニューがプルダウンして、下記のようなメニューが出現します。


トグルRWD ナビゲーションサンプル




transitionとtransformについて


▶ 解説参考 ※CSS トランジションの使用

● transition:変化する際のアニメーションの速度を設定します。

● transform:rotate()要素を回転角度を設定します。
https://developer.mozilla.org/ja/docs/Web/CSS/transform-function/rotate

rotate(回転角度)


豊富なアニメーションメニュー

45degと-135degを使うと良いですね。三本ラインから「×」表示へ変化させるもので、特に必須ではありません。fontAwesomeを使う手法や、画像を用いている場合もあります。(無印公式サイトは、画像を使っていました。)
https://www.muji.com/img/menu_b.png

【参考】その他のメニューアニメーションを見る