CSS メニューボタンアニメーション

CSS メニューボタンアニメーション

ドロップダウンメニューを書くには、ボタンをクリックします。メニューの入り口はアイコンボタンをクリックすることです。以前は画像を使用して置き換えていました。今日は突然CSSを使用してエフェクトを書きたいと思いました。主にPengpaiモバイル端末の右上隅にあるボタンを参照します。

効果:

html

    //vue のクリック イベントを通じてクラスを変更する
    <div 
        クラス="ハンバーガー" 
        スタイル="float: right;"
        :class="{'transform':rightTopBtn}"
        @click.stop="rightTopBtn=!rightTopBtn"
    >
        <div></div>
        <div></div>
        <div></div>
    </div>

CS

  <!--ボタン コンテナ START-->
    .バーガー{
        カーソル: ポインタ;
        表示: インラインブロック;
        マージン: 7px 6px 0 0;
        アウトライン: なし;
    }
    <!--ボタンコンテナEND-->
    <!--3 本の水平線は rotate3d START によって回転します-->
    .burger div {
        幅: 30ピクセル;
        高さ: 4px;
        下マージン: 6px;
        背景色: rgb(51, 51, 51);
        変換: rotate3d(0, 0, 0, 0);
    }
    <!--3 本の水平線 END-->
    .burger.transform div {
        背景色: 透明;
    }
    .burger.transform div:first-of-type {
        上: 10px;
        変換: rotate3d(0, 0, 1, 45deg)
    }
    .burger.transform div:last-of-type {
        下: 10px;
        変換: rotate3d(0, 0, 1, -45deg)
    }
    <!--START をクリックした後の 1 番目と 3 番目の水平線の効果-->
    .burger.transform div:first-of-type、.burger.transform div:last-of-type {
        遷移: transform .4s .3s イーズ、背景色 250ms イーズイン;
        背景: #00c1de;
    }
    <!--クリック後の 1 番目と 3 番目の水平線の効果END-->
    <!-- START をクリックしてキャンセルした後、アニメーションを再開します -->
    .burger div:first-of-type、.burger div:last-of-type {
        遷移: transform .3s、ease .0s、background-color 0ms、ease-out;
        位置: 相対的;
    }
    <!--クリックをキャンセルした後にアニメーションを再開しますEND-->

トランジションのみでアニメーションの効果を実現できます。異なる属性の変化を設定し、変化時間と遅延時間をマスターすることで、アニメーションを順番に並べることができます。

要約する

上記は私が紹介した CSS メニュー ボタン アニメーションです。お役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。

<<:  IE6 スペースバグ修正方法

>>:  Dockerはコンテナポートバインディングのローカルポートを実装します

推薦する

Web アプリ開発時間を短縮する 10 の時間を節約するヒント (グラフィカル チュートリアル)

今日の開発環境では、速いほど良いです。 「迅速なアプリケーション開発」、「アジャイル ソフトウェア開...

MySQLのパフォーマンスが突然低下する理由

場合によっては、SQL ステートメントが通常どおり、非常に速く実行される状況に遭遇することがあります...

Linux で指定された期間に数分ごとにタスク スケジュール crontab を自動的に実行する方法

まずコードを見てみましょう #/bin/sh datename=$(日付 +%Y%m%d-%H%M%...

Ubuntu 20.04にROS Noeticをインストールする方法

免責事項:プロジェクトでは ROS 環境を使用する必要があるため、これは Ubuntu 20.04 ...

Ubuntu の Python で C/C++ メソッドを呼び出すダイナミック リンク ライブラリの詳細な説明

ブーストをインストールPython から C/C++ を呼び出す方法はたくさんあります。この記事では...

Nginx tp3.2.3 404 問題の解決

最近、Apache を nginx に変更しました。TP プロジェクトを実行に移すと、404 エラー...

ウェブサイト構築経験概要

<br />注目を集めるウェブサイトを作成するには、どのような原則に従うべきでしょうか?...

Docker での Redis のマスタースレーブ構成チュートリアルの詳細説明

1. Redisイメージを取得するdocker pull redis 2. それぞれポート6379、...

レスポンシブ原則をシミュレートするための基礎コードの Vue 実装の例

目次1.Vue.js の機能: 2.Observer.js 関数 (データハイジャック): 3. C...

Pagoda Panel のインストール時にサーバーがデータベースにリモート接続できない問題の解決策

自分のウェブサイトを構築する予定なので、618 プロモーションを利用して Tencent Cloud...

JavaScript のクロージャによって発生する問題を回避する

閉鎖による問題を回避するためのletについてオブジェクト指向の考え方を使用して、購入者情報の削除機能...

Java を Mysql バージョン 8.0.18 に接続する方法の詳細な説明

JavaとMysql 8.0.18バージョンの接続方法については、参考までに具体的な内容は以下のとお...

ウェブページのフッターで注意すべきことのまとめ

たくさんのリンクおそらく、このようなサイトをたくさん見たことがあるでしょう。ページの下部に 50 個...

ホストがアクセスできるようにMySQLの権限を変更する方法

mysqlのリモートアクセス権を有効にするデフォルトでは、MySQL ユーザーにはリモート アクセス...