6 CSS ハンバーガーアニメーション_html/css_WEB-ITnose
CSS と少しの JavaScript を使用して、「ハンバーガー」アニメーションを生成する方法を示しました。
前回の記事で、ナビゲーション バー メニュー (「ハンバーガー アイコン」とも呼ばれる) のアニメーションに関するインスピレーションを公開しました。その結果、ファンの皆様からたくさんのお褒めの言葉をいただきましたこと、心より感謝申し上げます。
私はこの側面にもっと取り組むことにしたので、一連の異なるアニメーション実装を書きました。この記事では、6 種類の「ハンバーガー」アニメーションの強化版を紹介します。
アニメーションをトリガーするために少し JavaScript を使用しました。学習を続ける前に、デモをご覧ください (翻訳者: 開けない場合は、記事の下部にあるデモをクリックしてください)
変更点
以前に書いたコード あまりきれいではありません。変更の主な目的は、コードをよりきれいに、より整理することです。
まず、意味のないdivをbutton要素に置き換えました。これにより、コードが読みやすくなります。
次に、ラッパー クラス名を .hamburger と名付けました。 .hamburger 内には別の要素 (span タグ) があり、そのクラス名を .icon として配置しました
Essence
私たちの .icon 要素はラップされて、完成したアイコン。
アニメーションをよりスムーズにするには、中央のバーが十分に柔軟である必要があるため、.icon 要素を使用してハンバーガーのパティ部分として機能します。
アイコンのラッピング部分に関しては、.hamburger はラッパーとして機能するだけでなく、アニメーション全体の完成も支援します。したがって、ハンバーガーの上部と下部は .hamburger 擬似クラスによって埋められます。
HTML
<button class="hamburger hamburger-cancel"> <span class="icon"></span></button>
ご覧のとおり、button 要素は .hamburger の役割を果たします。別のクラス名 (.hamburger-cancel) は、ハンバーガーの種類 (パンフライドチキンドラムスティック、ビッグマックなど) を区別するために使用されます。当店では6種類の味のハンバーガーをご用意しております。
JavaScript
最初に述べたように、切り替えに小さな JS コードを使用します。以下は私のコード スニペットです
var el = document.querySelectorAll('.hamburger');for(i=0; i<=el.length; i++) { el[i].addEventListener('click', function() { this.classList.toggle('active'); }, false);}
上記の JavaScript は主に、クリック時間をバインドすることで、対応する要素に .active クラスを追加します。 。 優れた。
コード
以下の CSS コードは、ハンバーガー要素のデフォルト状態を設定します。フォントサイズは適切に調整できますが、もちろん最大フォントサイズはアイコンを超えることはできません
構造仕様に加えて、アニメーションをよりスムーズにするために CSS トランジションプロパティも使用します。
そうですさて、ハンバーガーのアイコンを描いてみましょう。次の定義により、プロセス全体をより明確に理解できます。
明らかに、すべてのアイコンの 3 つのストライプには、抽出できるいくつかの共通の特徴があります。
rreee上記のコードでは、.hamburger に 3 本のバーを描画しました。少し隙間を与えると、ハンバーガーのアイコンがはっきりと見えます。
見た目をすっきりさせるために、border-radius 属性を設定します。要素にはテキストがないため、背景色を設定します。
予想通り、山東チヂミを描きました。次のアニメーション部分に進みましょう。
アニメーション
6 種類のハンバーガーを 1 つずつ分析してみましょう。
垂直
最も簡単な方法を使用して、ハンバーガーを回転するには、アクティブな状態で 90 度回転するだけで済みます。または、270 度回転するだけで、よりかっこよく見えます。
.hamburger { font-size: 60px; display: inline-block; width: 1em; height: 1em; padding: 0; cursor: pointer; transition: transform .2s ease-in-out; vertical-align: middle; border: 0 none; background: transparent; }/** * Button height fix for Firefox */.hamburger::-moz-focus-inner { padding: 0; border: 0 none; }/** * Focus fix for Chrome */.hamburger:focus { outline: 0; }
'シェイプアップ。
もちろん、ただ回すだけでは十分ではありません。回転しながら Y 軸を変更する必要があります。そうしないと、距離が少し遠くなります。
.hamburger:before,.hamburger:after { content: ""; }.hamburger:before,.hamburger .icon,.hamburger:after { display: block; width: 100%; height: .2em; margin: 0 0 .2em; transition: transform .2s ease-in-out; border-radius: .05em; background: #596c7d; }/** * Styles for the active `.hamburger` icon */.hamburger.active:before,.hamburger.active .icon,.hamburger.active:after { background: #2c3e50; }
プラス記号
このアニメーションは次のようなものです:
- 中央のパティが消えます - 上のバンズが移動および回転して垂直バーとして機能します
- 下のバンズが移動および回転して水平線として機能します
これら3 ハンバーガーからプラスへのアニメーションは、アクション
/** * VERTICAL HAMBURGER */.hamburger.hamburger-vertical.active { transform: rotate(270deg); }
/** * CLOSE/CANCEL/CROSS */.hamburger.hamburger-cancel.active .icon { transform: scale(0); }.hamburger.hamburger-cancel.active:before { transform: translateY(.4em) rotate(135deg); }.hamburger.hamburger-cancel.active:after { transform: translateY(-.4em) rotate(-135deg); }
これには、上下のパンを移動、回転、調整することが含まれます。最後に、180 度の回転を追加します
/** * PLUS */.hamburger.hamburger-plus.active .icon { transform: scale(0); }.hamburger.hamburger-plus.active:before { transform: translateY(.4em) rotate(90deg); }.hamburger.hamburger-plus.active:after { transform: translateY(-.4em) rotate(180deg); }
これは左矢印のミラーコピーです。左矢印のコードをコピーして、適切な変更を加えることができます。
概要
同様の実装をオンラインで探したところ、Sara の Navicon トランスミコンがクールで堅牢で、より魅力的であることがわかりました。
この記事を楽しんでいただければ幸いです。以下でご意見やご提案をお気軽に共有してください。読んでくれてありがとう。
http://helkyle.com/demos/hamburger-icons.html’ target=’__blank’>クリックしてデモを表示します
この記事は @Rahul Arora による翻訳に基づいており、私自身の理解と意味が含まれています。うまく翻訳されていない点や間違っている点があれば、アドバイスをお願いします。この翻訳を転載したい場合は、英語の出典を明記してください: http://w3bits.com/animated-hamburger-icons/

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











公式アカウントのWebページはキャッシュを更新します。これはシンプルでシンプルで、ポットを飲むのに十分な複雑です。あなたは公式のアカウントの記事を更新するために一生懸命働きましたが、ユーザーはまだ古いバージョンを開くことができますか?この記事では、この背後にあるtwist余曲折と、この問題を優雅に解決する方法を見てみましょう。それを読んだ後、さまざまなキャッシュの問題に簡単に対処でき、ユーザーが常に新鮮なコンテンツを体験できるようになります。最初に基本について話しましょう。それを率直に言うと、アクセス速度を向上させるために、ブラウザまたはサーバーはいくつかの静的リソース(写真、CSS、JSなど)やページコンテンツを保存します。次回アクセスするときは、もう一度ダウンロードすることなく、キャッシュから直接検索できます。自然に高速です。しかし、このことは両刃の剣でもあります。新しいバージョンはオンラインです、

この記事では、ブラウザのユーザー入力を直接検証するために、必要、パターン、MIN、MAX、および長さの制限などのHTML5フォーム検証属性を使用して説明します。

記事では、HTML5クロスブラウザーの互換性を確保するためのベストプラクティスについて説明し、機能検出、プログレッシブエンハンスメント、およびテスト方法に焦点を当てています。

この記事では、CSSを使用したWebページへの効率的なPNG境界追加を示しています。 CSSはJavaScriptやライブラリと比較して優れたパフォーマンスを提供し、微妙または顕著な効果のために境界幅、スタイル、色を調整する方法を詳述していると主張しています

この記事では、HTML&lt; Datalist&GT;について説明します。オートコンプリートの提案を提供し、ユーザーエクスペリエンスの改善、エラーの削減によりフォームを強化する要素。

この記事では、HTML&lt; Progress&gt;について説明します。要素、その目的、スタイリング、および&lt; meter&gt;との違い要素。主な焦点は、&lt; Progress&gt;を使用することです。タスクの完了と&lt; Meter&gt; statiの場合

この記事では、html5&lt; time&gt;について説明します。セマンティックデート/時刻表現の要素。 人間の読み取り可能なテキストとともに、マシンの読みやすさ(ISO 8601形式)のDateTime属性の重要性を強調し、Accessibilitを増やします

この記事では、html&lt; meter&gt;について説明します。要素は、範囲内でスカラーまたは分数値を表示するために使用され、Web開発におけるその一般的なアプリケーション。それは差別化&lt; Meter&gt; &lt; Progress&gt;およびex
