検索
ホームページウェブフロントエンドhtmlチュートリアル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 トランジションプロパティも使用します。

そうです

さて、ハンバーガーのアイコンを描いてみましょう。次の定義により、プロセス全体をより明確に理解できます。

  • 上のバンズ: ハンバーガー:前
  • 中オルレアンチキンレッグ: .icon
  • 下のバンズ: .hamburger:after
  • 明らかに、すべてのアイコンの 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); }
    で完成しますピース。次に、同じように180度回転させます。素敵になりますよ〜

    /** * 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/

    声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    HTML、CSS、およびJavaScriptの未来:Web開発動向HTML、CSS、およびJavaScriptの未来:Web開発動向Apr 19, 2025 am 12:02 AM

    HTMLの将来の傾向はセマンティクスとWebコンポーネントであり、CSSの将来の傾向はCSS-in-JSとCSShoudiniであり、JavaScriptの将来の傾向はWebAssemblyとServerLessです。 1。HTMLセマンティクスはアクセシビリティとSEO効果を改善し、Webコンポーネントは開発効率を向上させますが、ブラウザの互換性に注意を払う必要があります。 2。CSS-in-JSは、スタイル管理の柔軟性を高めますが、ファイルサイズを増やす可能性があります。 CSShoudiniは、CSSレンダリングの直接操作を可能にします。 3. Webassemblyブラウザーアプリケーションのパフォーマンスを最適化しますが、急な学習曲線があり、サーバーレスは開発を簡素化しますが、コールドスタートの問題の最適化が必要です。

    HTML:構造、CSS:スタイル、JavaScript:動作HTML:構造、CSS:スタイル、JavaScript:動作Apr 18, 2025 am 12:09 AM

    Web開発におけるHTML、CSS、およびJavaScriptの役割は次のとおりです。1。HTMLは、Webページ構造を定義し、2。CSSはWebページスタイルを制御し、3。JavaScriptは動的な動作を追加します。一緒に、彼らは最新のウェブサイトのフレームワーク、美学、および相互作用を構築します。

    HTMLの未来:ウェブデザインの進化とトレンドHTMLの未来:ウェブデザインの進化とトレンドApr 17, 2025 am 12:12 AM

    HTMLの将来は、無限の可能性に満ちています。 1)新機能と標準には、より多くのセマンティックタグとWebComponentsの人気が含まれます。 2)Webデザインのトレンドは、レスポンシブでアクセス可能なデザインに向けて発展し続けます。 3)パフォーマンスの最適化により、応答性の高い画像読み込みと怠zyなロードテクノロジーを通じてユーザーエクスペリエンスが向上します。

    HTML対CSS対JavaScript:比較概要HTML対CSS対JavaScript:比較概要Apr 16, 2025 am 12:04 AM

    Web開発におけるHTML、CSS、およびJavaScriptの役割は次のとおりです。HTMLはコンテンツ構造を担当し、CSSはスタイルを担当し、JavaScriptは動的な動作を担当します。 1。HTMLは、セマンティクスを確保するためにタグを使用してWebページの構造とコンテンツを定義します。 2。CSSは、セレクターと属性を介してWebページスタイルを制御して、美しく読みやすくします。 3。JavaScriptは、動的でインタラクティブな関数を実現するために、スクリプトを通じてWebページの動作を制御します。

    HTML:それはプログラミング言語か何か他のものですか?HTML:それはプログラミング言語か何か他のものですか?Apr 15, 2025 am 12:13 AM

    htmlisnotaprogramminglanguage; itisamarkuplanguage.1)htmlStructuresandformatswebcontentusingtags.2)ItworkswithcsssssssssdjavascriptforInteractivity、強化を促進します。

    HTML:Webページの構造の構築HTML:Webページの構造の構築Apr 14, 2025 am 12:14 AM

    HTMLは、Webページ構造の構築の基礎です。 1。HTMLは、コンテンツ構造とセマンティクス、および使用などを定義します。タグ。 2. SEO効果を改善するために、などのセマンティックマーカーを提供します。 3.タグを介したユーザーの相互作用を実現するには、フォーム検証に注意してください。 4. JavaScriptと組み合わせて、動的効果を実現するなどの高度な要素を使用します。 5.一般的なエラーには、閉じられていないラベルと引用されていない属性値が含まれ、検証ツールが必要です。 6.最適化戦略には、HTTP要求の削減、HTMLの圧縮、セマンティックタグの使用などが含まれます。

    テキストからウェブサイトへ:HTMLの力テキストからウェブサイトへ:HTMLの力Apr 13, 2025 am 12:07 AM

    HTMLは、Webページを構築するために使用される言語であり、タグと属性を使用してWebページの構造とコンテンツを定義します。 1)htmlは、などのタグを介してドキュメント構造を整理します。 2)ブラウザはHTMLを分析してDOMを構築し、Webページをレンダリングします。 3)マルチメディア関数を強化するなど、HTML5の新機能。 4)一般的なエラーには、閉じられていないラベルと引用されていない属性値が含まれます。 5)最適化の提案には、セマンティックタグの使用とファイルサイズの削減が含まれます。

    HTML、CSS、およびJavaScriptの理解:初心者向けガイドHTML、CSS、およびJavaScriptの理解:初心者向けガイドApr 12, 2025 am 12:02 AM

    webdevelopmentReliesOnhtml、css、andjavascript:1)htmlStructuresContent、2)cssStylesit、および3)Javascriptaddsinteractivity、形成、

    See all articles

    ホットAIツール

    Undresser.AI Undress

    Undresser.AI Undress

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

    AI Clothes Remover

    AI Clothes Remover

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

    Undress AI Tool

    Undress AI Tool

    脱衣画像を無料で

    Clothoff.io

    Clothoff.io

    AI衣類リムーバー

    AI Hentai Generator

    AI Hentai Generator

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

    ホットツール

    SublimeText3 中国語版

    SublimeText3 中国語版

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

    MinGW - Minimalist GNU for Windows

    MinGW - Minimalist GNU for Windows

    このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

    ドリームウィーバー CS6

    ドリームウィーバー CS6

    ビジュアル Web 開発ツール

    mPDF

    mPDF

    mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

    ゼンドスタジオ 13.0.1

    ゼンドスタジオ 13.0.1

    強力な PHP 統合開発環境