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はコンテナポートバインディングのローカルポートを実装します

推薦する

HTML入力で値が変更されたときにリスナーイベントを追加することの簡単な分析

達成される効果多くの場合、入力ボックスの値の変化をリアルタイムで監視し、ブラウザを誘導してウェブサイ...

Linux での感嘆符コマンド (!) の使用の概要

序文最近、弊社では mbp の設定をしており、ssh を使うことが多くなりました。複雑なコマンドを書...

2048 ゲームを実装するためのネイティブ js

2048ミニゲーム、参考までに具体的な内容は以下のとおりですまず、2048ゲームは16のグリッドか...

Reactは適応性の高い仮想リストを実装する

目次変換前:変換後: 0x0の基本0x1 「固定高さ」の仮想リストを実装する原理:最適化: 0x2 ...

TypeScript ジェネリックを簡単に説明する方法

目次概要ジェネリック医薬品とはビルドシステムジェネリック医薬品の一般的な理解ジェネリッククラスジェネ...

Docker で Tomcat、MySQL、Redis をインストールするための詳細な手順

目次DockerでTomcatをインストールするtomcatイメージを使用してコンテナを作成する(イ...

MySQLインデックスが失敗するいくつかの状況の詳細な分析

1. 先頭のあいまいクエリではインデックスを使用できません (「%XX」や「%XX%」など)コード値...

Vue Element-ui テーブルはツリー構造テーブルを実現します

この記事では、ツリー構造テーブルを実現するためのElement-uiテーブルの具体的なコードを参考ま...

MySQL で高性能なインデックスを作成するための完全な手順

目次1. インデックスの基本1. インデックスの種類1.1 Bツリーインデックス1.2 ハッシュイン...

シンプルなリスト機能を実装するミニプログラム

この記事の例では、参考のために簡単なリスト機能を実装するアプレットの具体的なコードを共有しています。...

Web開発でボックスを中央に配置するいくつかの方法

1. ボックスを中央に配置するいくつかの方法を記録します。 1.0、マージン幅固定、高さ中央配置。 ...

MySQL パフォーマンス最適化のための魔法のツール、Explain の基本的な使用分析

導入MySQL には、SELECT ステートメントを分析し、開発者が最適化できるように SELECT...

MySQLトランザクションの特徴と分離レベルについてお話ししましょう

インターネットにはすでにこの種の記事が溢れていますが、私がこれをまだ書いている理由は単純です。それは...

シンプルな CSS テキストアニメーション効果

成果を達成する 実装コードhtml <div id=コンテナ> いらっしゃいませ <...