CSS+JS で水滴の波紋アニメーション ボタン効果を実装するサンプル コード

CSS+JS で水滴の波紋アニメーション ボタン効果を実装するサンプル コード

コードは次のようになります。

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
    <メタ文字セット="UTF-8">
    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
    <title>ドキュメント</title>
    <スタイル>
        .btn{ 
            表示: ブロック; 
            幅: 300ピクセル; 
            高さ: 100px;
            マージン: 50px; 
            アウトライン: 0; 
            オーバーフロー: 非表示;  
            位置: 相対的; 
            遷移: .3秒; 
            カーソル: ポインタ; 
            ユーザー選択: なし;  
            テキスト配置: 中央; 
            行の高さ: 100px; 
            フォントサイズ: 50px; 
            背景:トマト; 
            色: #fff;  
            境界線の半径: 10px;
        }
        .btn>span{ 
            位置: 絶対; 
            左: 0; 
            上: 0;
            幅: 100%; 
            高さ: 100%;}
        .btn>span:after{ 
            コンテンツ: ''; 
            位置: 絶対; 
            背景: 透明; 
            境界線の半径:50%; 
            幅: 100%; 
            パディング上部: 100%; 
            左マージン: -50%; 
            上マージン: -50%; 
            左: var(--x,-100%); 
            上: var(--y,-100%); 
        }
        .btn:アクティブ{ 
            背景:オレンジ色;
        }
        .btn>入力[type=チェックボックス]{
            表示: なし
        }
        .btn>input[type=checkbox]+span:after{
            アニメーション: リップルイン 1 秒;
        }
        .btn>input[type=checkbox]:checked+span:after{
            アニメーション: リップルアウト 1 秒;
        }
        @keyframes リップルイン{
            から {
                変換: スケール(0);
                背景: rgba(0,0,0,.25)
            }
            に {
                変換: スケール(1.5);
                背景: 透明
            }
        }
        @keyframes リップルアウト{
            から {
                変換: スケール(0);
                背景: rgba(0,0,0,.25)
            }
            に {
                変換: スケール(1.5);
                背景: 透明
            }
        }
    </スタイル>
</head>
<本文>
    <ラベルクラス="btn"タブインデックス="1">
        <input type="checkbox"><span onclick="ripple(this,event)">ボタン</span>
    </ラベル>
</本文>

<スクリプト>
    関数リップル(dom,ev){
        コンソール.log(ev)
        var x = ev.offsetX;
        var y = ev.offsetY;
        dom.style.setProperty('--x',x+'px');
        dom.style.setProperty('--y',y+'px');
}
</スクリプト>
</html> 

ここに画像の説明を挿入

これで、CSS + JS で水滴の波紋アニメーションボタン効果を実装するサンプルコードに関するこの記事は終了です。より関連性の高い CSS 水滴の波紋アニメーションボタンコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM を応援してください。

<<:  ウェブページの色特性の分類

>>:  Nginx+Tomcat 負荷分散クラスタのインストールと構成のケースの詳細な説明

推薦する

Centos7 に MySQL 8.0.23 をインストールする手順 (初心者レベル)

まず、MySQL とは何かを簡単に紹介します。簡単に言えば、データベースはデータを格納するための倉庫...

Docker コンテナのカスタム ホストのネットワーク アクセス操作

docker-compose.yml に extra_hosts キーワードを追加すると、コンテナの...

インデックスを使用して MySQL ORDER BY ステートメントを最適化する方法

テーブルの作成とインデックスの作成 テーブルtbl1を作成( id int ユニーク、sname v...

MySQL Strict Modeの知識ポイントの詳細な説明

I. 厳密モードの説明MySQL 5.0 以降の厳密モード (STRICT_TRANS_TABLES...

Linux で yum と入力した後に -bash: /usr/bin/yum: No such file or directory という問題を解決する方法

Linuxでyumを入力すると、プロンプトが表示されます: -bash: /usr/bin/yum:...

LinuxはMySQLデータベースの自動バックアップとスケジュールバックアップを毎日実装しています

概要バックアップは災害復旧の基礎であり、システム操作エラーやシステム障害によるデータ損失を防ぐために...

Vue ローカルコンポーネントデータ共有 Vue.observable() の使用

コンポーネントが詳細になるにつれて、複数のコンポーネントが状態を共有する状況に遭遇するでしょう。Vu...

Linux ifconfig コマンドの使用

1. コマンドの紹介ifconfig (ネットワーク インターフェイスを構成する) コマンドは、ネッ...

Chrome Dev Tools を使用してページのパフォーマンスを分析する方法 (フロントエンドのパフォーマンス最適化)

背景開発やデバッグには Chrome Dev Tools がよく使用されますが、ページのパフォーマン...

div の高さをブラウザの高さに合わせて調整する方法

この古くからある疑問は、数え切れないほどのフロントエンド開発者やバックエンドプログラマーを悩ませてき...

vue.js を使用してドラッグ アンド ドロップ機能を実装する方法

序文ドラッグ アンド ドロップ機能を追加すると、プログラムがより自然でユーザーフレンドリーになります...

altとtitleの違いの詳しい説明

これら 2 つの属性はよく使用されますが、その違いはまとめられていません。それでは、その使い方をまと...

MIME タイプの完全なリスト

MIME タイプとは何ですか? 1. まず、ブラウザがコンテンツを処理する方法を理解する必要がありま...

MySQL 半同期レプリケーションの原理構成と導入の詳細な説明

環境の紹介: Ubuntu Server 16.04.2+MySQL 5.7.17 コミュニティ サ...

Oracle Rownum 書き込みに似た MySQL の詳細な例

Rownum は、Oracle での独自の書き込み方法です。Oracle では、rownum を使用...