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 負荷分散クラスタのインストールと構成のケースの詳細な説明

推薦する

CSS flex 複数列レイアウト

基本的な3列レイアウト 。容器{ ディスプレイ: フレックス; 幅: 500ピクセル; 高さ: 20...

Vue 関数のアンチシェイクとスロットリングの正しい使用方法

序文1. デバウンス: 高頻度イベントがトリガーされた後、関数は n 秒以内に 1 回だけ実行されま...

HTMLでアンカーの位置を設定するためのいくつかの一般的な方法

HTML でアンカーの位置を設定する方法はいくつかあるので、ここで紹介します。 1. ID ポジショ...

スクラッチ宝くじの例を実現する JavaScript キャンバス

この記事では、スクラッチ効果を実現するためのJavaScriptキャンバスの具体的なコードを参考まで...

MySQLの主キーと外部キーの使用と説明を簡単に説明します

目次1. 外部キー制約外部キーとは何ですか?外部キーを使用する条件:外部キーの定義構文は次のとおりで...

ReactでCSSスタイルを動的に変更する2つの方法の詳細な説明

最初の方法: デモとしてボタンをクリックしてテキストを表示または非表示にするクラスを動的に追加します...

ccs3に基づくタイムライン実装方法

Web プロジェクトでは、タイムライン コントロールをよく使用します。この記事では、項目ごとに展開で...

Ubuntu 18.04 に VMware Tools をインストールする際のエラーを解決する

1. オンライン チュートリアルによると、Ubuntu 18.04 のインストールはまだ失敗します。...

Linux で nginx を起動および再起動する方法

Nginx (エンジン x) は、IMAP/POP3/SMTP サービスも提供する高性能 HTTP ...

Linux でリモート サーバー ファイルの状態を表示する方法

以下のように表示されます。 test コマンドはファイルが存在するかどうかを判断します。 ssh u...

要素の高さを下から上へ、上から下へ制御する CSS メソッド

よくある質問から議論を始めましょう。CSS を使用して要素の高さを [ブラウザ コンテンツ ウィンド...

Nginx 502 Bad Gateway エラーの原因と解決策

Nginx 502 Bad Gateway エラーに何度か遭遇しました。ここでメモしておこうと思いま...

MySQL セレクトキャッシュメカニズムの使用に関する詳細な説明

MySQL クエリ キャッシュはデフォルトでオンになっています。ある程度、クエリの効果は向上しますが...

MySQL 並列レプリケーションの簡単な分析

01 並列レプリケーションの概念MySQL のマスター スレーブ レプリケーション アーキテクチャで...