Divi&Anime.jsでよろめきアニメーションハンバーガーメニューを作成する方法
公開: 2021-02-17これまで、DiviとDivi ThemeBuilderで作成できるさまざまなタイプのヘッダーを共有してきました。 実際のところ、このナビゲーション投稿にリストされているすべてのチュートリアルを見つけることができます。 その投稿では、フルスクリーンヘッダーを作成する方法を紹介しましたが、ヘッダーデザインをさらに発展させるために、カスタムアニメーションのハンバーガーメニューを作成する方法も紹介します。 私たちが作成するハンバーガーメニューには、いくつかの注目すべき点があります。
- 訪問者がハンバーガーアイコンをクリックするとすぐに、フルスクリーンヘッダーが遷移し、各メニュー項目が1つずつ表示され、カスタムアニメーションのルックアンドフィールが提供されます。
- メニューを開くたびにカスタムアニメーションがトリガーされます
- メインメニュー項目にドロップダウン項目を追加することもできます。これらはクリックすると開き、誰かがメニューを閉じるかナビゲーション項目をクリックするとすぐに自動的に閉じます。
言い換えれば、これは間違いなく、その高度なルックアンドフィールをWebサイトに追加するのに役立つヘッダーチュートリアルです。 アイテムのスタイルを自由に設定でき、JSONテンプレートファイルを無料でダウンロードできます。
それを手に入れましょう。
プレビュー
チュートリアルに入る前に、さまざまな画面サイズでの結果を簡単に見てみましょう。
デスクトップ

モバイル

グローバルヘッダーテンプレートを無料でダウンロード
無料のグローバルヘッダーテンプレートを入手するには、まず下のボタンを使用してそれらをダウンロードする必要があります。 ダウンロードにアクセスするには、以下のフォームを使用して、DiviDailyのメーリングリストに登録する必要があります。 新規加入者として、毎週月曜日にさらに多くのDiviの良さと無料のDiviレイアウトパックを受け取ります! すでにリストに載っている場合は、下にメールアドレスを入力して[ダウンロード]をクリックしてください。 「再購読」したり、追加のメールを受信したりすることはありません。

無料でダウンロード
Diviニュースレターに参加すると、究極のDiviランディングページレイアウトパックのコピーに加えて、他のすばらしい無料のDiviリソース、ヒント、コツがたくさんメールで送信されます。 従うと、すぐにDiviマスターになります。 すでに購読している場合は、以下にメールアドレスを入力し、[ダウンロード]をクリックしてレイアウトパックにアクセスしてください。
正常にサブスクライブしました。 メールアドレスを確認してサブスクリプションを確認し、毎週無料のDiviレイアウトパックにアクセスしてください。
1.新しいヘッダーテンプレートを作成します
Diviテーマビルダーに移動し、新しいグローバルヘッダーテンプレートを追加します
まず、Diviテーマビルダーに移動します。 そこで、新しいグローバルヘッダーを追加します。

ゼロから構築を開始
そして、ヘッダーデザインの構築を最初から始めます。

2.ロゴとハンバーガーアイコンを作成する
セクション設定
背景色
テンプレートエディタに入ったら、ロゴとハンバーガーアイコンを作成することから始めます。 そこにはすでにセクションがあることに気付くでしょう。 セクション設定を開き、透明な背景色を適用します。
- 背景色:rgba(255,255,255,0)

間隔
セクションの[デザイン]タブに移動し、次にデフォルトの上下のパディングをすべて削除します。
- トップパディング:0px
- ボトムパディング:0px

ポジション
次に、詳細に移動し、セクションを固定します。
- 位置:固定
- 場所:左上
- Zインデックス:13

新しい行を追加
カラム構造
次の列構造を使用して、セクションに新しい行を追加して続行します。

サイジング
モジュールをまだ追加せずに、行設定を開き、[デザイン]タブに移動して、それに応じてサイズ設定を変更します。
- カスタムガター幅を使用:はい
- 側溝幅:1
- 列の高さを等しくする:はい
- 幅:95%
- 最大幅:100%

間隔
次に、デフォルトの上下のパディングをすべて削除します。
- トップパディング:0px
- ボトムパディング:0px

主な要素CSS
また、ロゴとハンバーガーアイコンの両方が小さい画面サイズで隣り合って表示されるようにするために、行のメイン要素に1行のCSSコードを挿入します。
display: flex;

列1に画像モジュールを追加
ロゴをアップロード
列1の画像モジュールから始めて、モジュールを追加します。選択したロゴをアップロードします。

サイジング
[デザイン]タブに移動し、次にサイズ設定を変更します。
- 最大幅:
- デスクトップ:80px
- タブレットと電話:50px

ポジション
次に、モジュール全体を再配置します。
- 位置:絶対
- 場所:左上
- 垂直オフセット:20px

列3にテキストモジュールを追加
コンテンツボックスのHTML構造
3番目の列では、テキストモジュールを追加します。 このテキストモジュールを使用して、ハンバーガーアイコンを作成します。 コンテンツボックスのテキストタブに切り替えて、次のHTMLタグを挿入することから始めます。
<span class="line line-1"></span> <span class="line line-2"></span> <span class="line line-3"></span>

サイジング
次に、モジュールのサイズ設定を変更します。
- 幅:80px
- 高さ:80px

間隔
次に、さまざまな画面サイズにカスタムパディング値を適用します。
- トップパディング:
- デスクトップ:10px
- タブレットと電話:17px
- ボトムパディング:
- デスクトップ:10px
- タブレットと電話:17px
- 左パディング:
- デスクトップ:15px
- タブレットと電話:30px
- 右パディング:
- デスクトップ:15px
- タブレットと電話:10px

ポジション
このモジュールも再配置します。
- 位置:絶対
- 場所:左上隅

3.ハンバーガーメニューを作成します
新しいセクションを追加
グラデーションの背景
ロゴとハンバーガーアイコンが配置されたので、ハンバーガーメニューとそのすべてのアイテムの作成に専念する次の部分に進むことができます。 新しいセクションを追加することから始め、セクション設定を開き、グラデーションの背景を適用します。
- 色1:#000000
- カラー2:#111111
- グラデーションタイプ:線形
- グラデーション方向:90度
- 開始位置:50%
- 終了位置:50%

サイジング
次に、最小の高さと最大の高さをサイズ設定に適用します。
- 最小高さ:100vh
- 最大高さ:100vh

間隔
次に、デフォルトのセクションの上部と下部のパディングをすべて削除します。
- トップパディング:0px
- ボトムパディング:0px

オーバーフロー
オーバーフローも変更します。
- 水平オーバーフロー:非表示
- 垂直オーバーフロー:自動

ポジション
メニューをいつでも開くことができるように、[詳細設定]タブのセクションの位置を変更します。
- 位置:固定
- ロケーショントップセンター

新しい行を追加
カラム構造
次の列構造を使用して、セクションに新しい行を追加して続行します。

サイジング
モジュールをまだ追加せずに、行設定を開き、[デザイン]タブに移動して、次のようにサイズ設定を変更します。
- カスタムガター幅を使用:はい
- 側溝幅:1
- 列の高さを等しくする:はい
- 幅:100%
- 最大幅:100%

間隔
次に、デフォルトの上下のパディングをすべて削除します。
- トップパディング:0px
- ボトムパディング:0px

オーバーフロー
次に、[詳細設定]タブに移動し、オーバーフローを変更します。
- 水平オーバーフロー:非表示
- 垂直オーバーフロー:自動

ポジション
行も再配置します。
- 位置:絶対
- ロケーショントップセンター

列1の設定
間隔
次に、行の列1の設定を開き、カスタムレスポンシブパディング値を適用します。
- トップパディング:
- デスクトップ:24vh
- タブレットと電話:10vh
- ボトムパディング:
- デスクトップ:24vh
- タブレットと電話:5vh
- 左パディング:13%
- 右パディング:13%

国境
いくつかの境界設定も適用します。
- 右ボーダー幅:
- デスクトップ:2px
- タブレットと電話:0px \
- 右ボーダーの色:#191919
- ボトムボーダー幅:
- デスクトップ:0px
- タブレットと電話:2px
- 右ボーダーの色:#191919

列2の設定
間隔
次に、列2に移動し、そこにもいくつかのカスタムパディング値を適用します。
- トップパディング:
- デスクトップ:24vh
- タブレットと電話:5vh
- ボトムパディング:
- デスクトップ:24vh
- タブレットと電話:5vh
- 左パディング:13%
- 右パディング:13%

テキストモジュール#1を列1に追加します
H3コンテンツを追加する
1列目の最初のテキストモジュールから始めて、モジュールを追加します。選択したH3コンテンツをいくつか追加します。

H3テキスト設定
[デザイン]タブに移動し、H3テキスト設定を次のように変更します。
- 見出し3フォント:Montserrat
- 見出し3フォントの太さ:超太字
- 見出し3フォントスタイル:大文字
- 見出し3のテキストの色:#ffffff
- 見出し3のテキストサイズ
- デスクトップ:1vw
- タブレット:2.5vw
- 電話:3.5vw
- 見出し3文字の間隔:5px

間隔
次に下マージンを追加します。
- 下マージン:5vh


テキストモジュールのクローンを作成し、列2に複製を配置します
この最初のモジュールを完了したら、それを1回クローンして、複製を列2に配置できます。

コンテンツの変更
この重複モジュールの内容を必ず変更してください。

テキストモジュール#2を列2に追加します
コンテンツボックスのHTML構造
サブメニュー項目を含むメニュー項目を紹介するために、新しいテキストモジュールのテキストタブを使用します。 先に進み、新しいテキストモジュールを列1に追加して、次のHTMLを挿入します。
<span style="color: #686868;">01—</span> <a href="#">Services</a> <span class="toggle-sub-menu" style="color: #ffff00;">+</span> <ul> <li><a href="#">Web design</a></li> <li><a href="#">Branding</a></li> </ul>

テキスト設定
モジュールの[デザイン]タブに移動し、次のようにテキスト設定を変更します。
- テキストフォント:Montserrat
- テキストフォントの太さ:薄い
- テキストの色:#ffffff
- 文字サイズ:
- デスクトップ:2.7vw
- タブレット:4vw
- 電話:6vw
- テキスト文字の間隔:0.1em
- テキスト行の高さ:1em

リンクテキスト設定
リンクテキストの色も変更します。
- 林のテキストの色:#ffffff

順序付けられていないリストテキスト設定
次に、順序なしリストのテキスト設定を変更します。
- 順序付けられていないリストフォント:Montserrat
- 順序付けられていないリストのフォントの太さ:太字
- 順序なしリストのフォントスタイル:大文字
- 順序付けられていないテキストサイズ:
- デスクトップ:1vw
- タブレット:2.5vw
- 電話:3.5vw
- 順序付けられていないリスト行の高さ:1.5em
- 順序なしリストスタイルタイプ:なし
- 順序付けられていないリストスタイルの位置:内側

間隔
そして、カスタムの上部と下部のパディングを追加して、モジュール設定を完了します。
- トップパディング:5%
- ボトムパディング:5%

サブメニューなしでバリエーションを作成するためのテキストモジュールのクローン作成
最初のモジュールを完了したら、一度クローンを作成できます。 この複製を使用して、サブメニュー項目のないメニュー項目のバリエーションを作成します。

サブメニューを省略してアイコンを切り替えます
この重複モジュールをサブメニュー項目のない通常のメニュー項目に変換するには、代わりに次のHTML構造を使用します。
<span style="color: #686868;">03—</span> <a href="#">Contact</a>

両方のタイプのメニュー項目を再利用する
メニュー項目の両方のバリエーションを配置したら、それらを複製してコンテンツを変更することにより、それに応じて両方を再利用できます。

テキストモジュール#2を列2に追加します
H4と段落のコンテンツをコンテンツボックスに追加する
2列目には、選択したH4と段落のコンテンツを含む別のテキストモジュールを追加します。

テキスト設定
[デザイン]タブに移動し、それに応じてテキスト設定を変更します。
- テキストフォント:Alata
- テキストの色:#cecece
- 文字サイズ:
- デスクトップ:0.8vw
- タブレット:2.4vw
- 電話:3.4vw
- テキスト文字の間隔:1px
- テキスト行の高さ:1.5em
- テキストの色:明るい

H4テキスト設定
H4テキスト設定にもいくつか変更を加えます。
- 見出し4テキストサイズ:
- デスクトップ:1vw
- タブレット:3vw
- 電話:4vw

サイジング
次に、サイズ設定でモジュールの幅を変更します。
- 幅:48%

主な要素CSS
そして、モジュールのメイン要素に1行のCSSコードを追加します。 このCSSコードの行は、2つのテキストモジュールを並べて配置するのに役立ちます。
display: inline-block;

クローンテキストモジュール#2
コピーの変更
テキストモジュールが完成したら、一度クローンを作成し、それに応じてコンテンツを変更できます。

ソーシャルメディアフォローモジュールを列2に追加
選択したソーシャルネットワークを追加する
この設計で必要な最後のモジュールは、列2のソーシャルメディアフォローモジュールです。選択したソーシャルネットワークを追加します。

各ソーシャルネットワークの背景色を個別に削除します
各ソーシャルネットワークの背景色を個別に削除します。

間隔
次に、一般的なモジュール設定に戻り、上部マージンを適用します。
- トップマージン:5vh

4.機能を追加する
CSSクラスをハンバーガーアイコンテキストモジュールに追加する
ハンバーガーメニューデザインの基盤が構築されたので、機能の追加に集中できます。 最初に行う必要があるのは、ハンバーガーアイコンを含むテキストモジュールを開き、次のCSSクラスを追加することです。
- CSSクラス:全幅オープン

セクション2にCSSクラスを追加する
次に、ハンバーガーメニューセクションのセクション#2を開き、次のCSSクラスを追加します。
- CSSクラス:全幅メニュー

全幅メニューの各モジュールにCSSクラスを追加する
カスタムのよろめきアニメーション効果を作成するには、セクション2の各モジュールに次のCSSクラスを適用する必要があります。
- CSSクラス:よろめき効果

メニュー項目にCSSクラスを追加する
列1の各メニュー項目にも「main-menu-item」と呼ばれるCSSクラスを追加します。
- CSSクラス:よろめき効果のメインメニュー項目

セクション#1にコードモジュールを追加する
この機能を適用するには、カスタムCSSとJQueryコードを使用します。 このコードを、セクション#1の行の2番目の列にある新しいコードモジュールに配置します。

CSSコードを挿入
以下の印刷画面でわかるように、次のCSSコードをスタイルタグ間のコードモジュールに追加します。
/* enable class below once you're done editing the menu */
/*
.fullwidth-menu {
opacity: 0;
top: 0vh;
visibility: hidden;
}
*/
.line{
display: block;
position: absolute;
height: 3px;
width: 100%;
background: #000;
opacity: 1;
-webkit-transition: .1s ease-in-out;
-moz-transition: .1s ease-in-out;
-o-transition: .1s ease-in-out;
transition: .1s ease-in-out;
}
.fullwidth-open.open .line{
background: white;
}
.line-1 {
top: 15px;
}
.line-2 {
top: 25px;
width: 80%;
}
.line-3 {
top: 35px;
width: 50%;
}
.fullwidth-open.open .line-1 {
top: 25px;
-webkit-transform: rotate(135deg);
-moz-transform: rotate(135deg);
-o-transform: rotate(135deg);
transform: rotate(135deg);
}
.fullwidth-open.open .line-2 {
display: none;
}
.fullwidth-open.open .line-3 {
top: 25px;
width: 100%;
-webkit-transform: rotate(-135deg);
-moz-transform: rotate(-135deg);
-o-transform: rotate(-135deg);
transform: rotate(-135deg);
}
.fullwidth-menu-open {
opacity: 1 !important;
top: 0 !important;
visibility: visible !important;
}
.fullwidth-menu {
-webkit-transition: all 0.5s ease !important;
-moz-transition: all 0.5s ease !important;
-o-transition: all 0.5s ease !important;
-ms-transition: all 0.5s ease !important;
transition: all 0.5s ease !important;
}
.main-menu-item ul {
display: none;
padding: 0;
margin-top: 50px;
}
.toggle-sub-menu {
cursor: pointer;
}
Anime.jsライブラリを挿入します
以下の印刷画面に表示されているように、スクリプトタグを使用してAnimeJavaScriptライブラリを追加します。 この素晴らしいライブラリを使用して、チュートリアルの次のステップでよろめき効果を作成します。
- src =” https://cdnjs.cloudflare.com/ajax/libs/animejs/3.2.0/anime.min.js”

JQueryコードを挿入する
ハンバーガーメニューのクリック機能は、次のJQueryコードを利用しています。 以下の印刷画面に表示されているように、このコードをスクリプトタグの間に配置してください。
jQuery(function($){
$(document).ready(function(){
// All variables needed in functions
var menuSection = $('.fullwidth-menu');
var hamburgerIcon = $('.fullwidth-open');
var menuLink = $('.fullwidth-menu a');
var subMenu = $('.main-menu-item ul');
var toggleIcon = $('.toggle-sub-menu');
// Open fullwidth menu & animate items
hamburgerIcon.click(function(){
$(this).toggleClass('open');
menuSection.toggleClass('fullwidth-menu-open');
if (menuSection.hasClass("fullwidth-menu-open")) {
anime({
targets: '.stagger-effect',
translateY: [150, 0],
opacity: [0, 1],
loop: false,
delay: anime.stagger(100, {easing: 'easeOutQuad'})
});
} else {
subMenu.slideUp();
toggleIcon.text($(this).text() == '+' ? '-' : '+');
}
});
// Close fullwidth menu when clicking an item
menuLink.click(function(){
hamburgerIcon.toggleClass('open');
menuSection.toggleClass('fullwidth-menu-open');
subMenu.slideUp();
toggleIcon.text($(this).text() == '+' ? '-' : '+');
});
// Change icon when toggling the submenu
toggleIcon.click(function(){
var subMenu = $(this).parent().find("ul");
subMenu.slideToggle();
$(this).text($(this).text() == '-' ? '+' : '-');
});
});
});
フルスクリーンヘッダーのデザインが完了したらすぐにCSSクラスをアクティブ化します
最後になりましたが、最初のセクションにあるコードモジュールでCSSクラスを有効にします。 コードモジュールを開き、クラスの最初と最後にある「/ * * /」を削除します。 このクラスを有効にすると(すでに有効になっているJQueryコードと組み合わせて)、誰かがあなたのページの1つにアクセスしたときに、メニュー項目を含むセクションがすぐに読み込まれないようになります。 このクラスを有効にすると、ページの2番目のセクションがVisual Builderから消えますが、ワイヤーフレームモードでアクセスするか、追加の変更を行う場合はCSSクラスをオフにすることができます。

5.ヘッダーとテーマビルダーの変更を保存します
それでおしまい! あとは、テンプレートとDivi Theme Builderを保存して、Webサイトで結果を表示するだけです。


プレビュー
すべての手順を完了したので、さまざまな画面サイズでの結果を最終的に見てみましょう。
デスクトップ

モバイル

最終的な考え
この投稿では、Diviヘッダーを使用してクリエイティブにする方法を紹介しました。 具体的には、カスタムアニメーションのハンバーガーメニューを作成する方法を説明しました。 訪問者がハンバーガーアイコンをクリックするとすぐに、フルスクリーンメニューが遷移し、メニュー項目が1つずつ表示されるため、美しいユーザーエクスペリエンスが得られます。 テンプレートJSONファイルも無料でダウンロードできました! ご不明な点がございましたら、下のコメント欄にコメントを残してください。
Diviの詳細を知り、Diviの景品をさらに入手したい場合は、メールマガジンとYouTubeチャンネルに登録して、この無料コンテンツを最初に知って利益を得ることができるようにしてください。
