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

推薦する

LinuxでPythonの組み込みバージョンを削除する手順の詳細な説明

大きな落とし穴、Linuxシステムに付属するPythonのバージョンを簡単に削除しないでください1....

Reactは動的ポップアップウィンドウコンポーネントを実装します

UI コンポーネントを作成するときに、アニメーションを考慮しなければ、アニメーションを実現するのは非...

MySQLのCOUNT(*)のパフォーマンスについてお話しましょう

序文基本的に、職場のプログラマーは、count(*)、count(1)、または count(prim...

CSSカスケーディングメカニズムについての簡単な説明

CSS にカスケード メカニズムがあるのはなぜですか? CSS では、同じ要素の特定のプロパティに同...

nginx でのリクエストのカウント追跡の簡単な分析

まずは適用方法を説明します。nginxモジュールにはjtxyとjtcmdの2つがあります。 http...

CSS を使用して画像の下の空白を数ピクセル消去する方法の詳細な説明

最近、友人が私に質問をしました。ページをレイアウトすると、画像の下に 1 ~ 2 ピクセルの空白があ...

Vue の v-model ディレクティブと .sync 修飾子の違いの詳細な説明

目次vモデル.sync微妙な違い機能シナリオを要約します。 vモデル <!--親コンポーネント...

関数の分類の詳細な説明とJavascriptでのこのポイントの例

JS で関数を定義する 3 つの方法例を挙げて説明しましょう。 <スクリプト> //メソ...

JavaScript ベースの Web 計算機の実装

この記事では、ウェブ計算機のマインスイーパゲームを実装するためのJavaScriptの具体的なコード...

docker run後にコンテナがExited (0)と表示される問題を解決する

Centos7 上で openresty 用の Dockerfile を作成し、ビルドしました。 d...

nginxのデフォルトポートを変更する方法の詳細な説明

まず設定ファイルがどこにあるか調べる nginx.confはどこにありますかこれらのディレクトリを調...

階層化されたピラミッドを実現するための HTML+CSS の例

この記事では主に、HTML+CSS で階層化ピラミッドを実装する例を紹介し、皆さんと共有します。詳細...

将来人気が出るであろういくつかのナビゲーション方向

<br />今は情報爆発の時代であるだけでなく、サービス爆発の時代でもあります。それはす...

Vueは州、都市、地区のカスケード選択を実現します

最近、省、市、地区のカスケード選択効果を実装する必要があります。省、市、地区のデータはすべてローカル...

Centos7 で ZooKeeper3.4 ミドルウェアを構築するための一般的なコマンドの概要

1.ダウンロードして解凍する1. Zookeeperの紹介分散サービス フレームワークとして、Zoo...