クールな充電アニメーションを実現する純粋なCSS

クールな充電アニメーションを実現する純粋なCSS

CSS のみを使用してどのような充電アニメーション効果を作成できるかを見てみましょう。

バッテリーを描く

もちろん、バッテリーを充電するには、まず CSS を使用してバッテリーを描画する必要があります。これは難しくなく、描画するだけです。

ああ、それだ、かろうじて。バッテリーが手に入ったので、直接充電してみましょう。最も単純なアニメーションは、バッテリー全体を色で塗りつぶすことです。

メソッドは多数ありますが、コードは非常にシンプルです。効果を見てみましょう。

味もそれなりにあるので、要求が厳しくなければこれで十分でしょう。青いグラデーションは電力レベルを示し、充電アニメーションはカラーブロックの変位アニメーションによって実現されます。しかし、何かが欠けているような気が常にします。

影と色のバリエーションを追加する

最適化を続行する場合は、いくつかの詳細を追加する必要があります。

バッテリー残量が少ない場合は通常、バッテリーレベルが赤で表示され、バッテリー残量が多い場合は緑で表示されることはご存じのとおりです。カラー ブロック全体に影の変化をいくつか追加して、呼吸しているような感覚を与え、充電効果が実際に動いているように見えるようにします。

知識ポイント

この時点で、実際にわかっている知識は 1 つだけです。

フィルター: hue-rotate() を使用して、グラデーションカラーの色の変化をアニメーション化します。

グラデーション カラーを直接アニメーション化することはできないため、ここではフィルターを使用して色相を調整し、グラデーション カラー変換アニメーションを実現します。

上記の例の完全なデモ: CodePen デモ - バッテリーアニメーション 1

波を追加する

はい、これはほんの小さなマイルストーンです。これからさらに一歩進んでいきます。バッテリーインジケーターの上部は直線で、少し退屈に見えます。ここを修正できます。上部の直線を波状の曲線に変更できれば、よりリアルな効果が得られます。

変換後の効果:

CSS を使用してこの波のスクロール効果を実現するのは、実際には単なるトリックです。詳細については、以前に書いたこの記事を参照してください。

純粋な CSS で波の効果を実現!

知識ポイント

ここでの知識ポイントの 1 つは、CSS を使用して単純な波の効果を実現することです。これはトリックによって実現されます。画像を見るだけで理解できます。

上記の例の完全なデモ: CodePen デモ - バッテリーアニメーション 2

さて、この時点で、上記の効果にデジタル変更を加えると、すでにかなり良い効果が得られます。もちろん、上記の効果はまだ非常に CSS らしく、一目見ただけで CSS を使用して実現できることがわかります。

強力な CSS フィルターを使用して Android の充電アニメーション効果を実現します

下のものはどうですか?

Android スマートフォンを使用している学生の方は、この現象によくご存じでしょう。これは、Android スマートフォンを充電しているときの様子です。これを見て気になったのですが、CSS を使用してこれを行うことはできますか?

いくつか試してみたところ、CSS を使用するとこのアニメーション効果を非常にうまくシミュレートできることがわかりました。

上記の GIF に記録されている効果は、CSS を使用して完全にシミュレートされています。

上記の例の完全なデモ: HuaWei バッテリー充電アニメーション

知識ポイント

知識のポイントを分解すると、最も重要なことは、実際には 2 つのfilter: contrast()filter: blur()を使用することです。これにより、この融合効果を非常にうまく実現できます。

2 つのフィルターを別々に取り出します。それぞれの機能は次のとおりです。

filter: blur() : 画像にガウスぼかし効果を設定します。 filter: contrast() : 画像のコントラストを調整します。

しかし、それらが「融合」すると、素晴らしい融合現象が起こりました。

簡単な例を見てみましょう:

2 つの円が交差する過程を注意深く見てください。エッジが互いに接触すると、境界融合効果が生成されます。ガウスぼかしのぼやけたエッジはコントラスト フィルターによって除去され、ガウスぼかしを使用して融合効果が実現されます。

もちろん、この効果については以前の記事でも何度も触れてきました。詳細については、以下をご覧ください。

CSS フレイム? CSS フィルターのヒントと知らない詳細

色変換

もちろん、ここで色の変更を加えることもでき、その効果も非常に良好です。

上記の例の完全なデモ: HuaWei バッテリー充電アニメーション

見落としがちなポイント

filter: blur()およびfilter: contrast()プロパティの値を調整することで、アニメーション効果は実際に大幅に変化する可能性があり、優れた効果を得るには継続的なデバッグが必要です。もちろん、経験もこれには非常に重要な役割を果たします。結局のところ、さらに試してみる必要があります。

やっと

この記事では、徐々に効果が増加する充電アニメーションをいくつか紹介します。この記事では、最も重要な知識ポイントのみを指摘します。ただし、実際の出力プロセスには、この記事では触れられていない細かい点が多数あります。興味のある学生は、デモをクリックしてソースコードをよく確認するか、自分で実装してください。

素晴らしい CSS 技術記事が私の Github -- iCSS に集められています。これらは継続的に更新されています。星をクリックして購読し、収集してください。

さて、この記事はこれで終わりです。お役に立てれば幸いです:)

ご質問やご提案がございましたら、お気軽にご連絡ください。これはオリジナルの記事であり、私の文章力には限界があります。記事に誤りがある場合はお知らせください。

<<:  JavaScript を使用して簡単なアルゴリズムを実行する方法

>>:  INS と DEL を使用してドキュメントの変更をマークする方法の詳細な説明

ブログ    

推薦する

流れと動的なライン効果を実現する純粋なCSSコード

アイデア:外側のボックスは背景を設定し、内側のボックスは背景の幅と高さを設定し、ボックスを動かすアニ...

ReactでのsetStateの使用と同期と非同期の使用

React では、this.state を使用して状態を直接変更しても、コンポーネントは再レンダリン...

自動同期テーブル構造のMySql開発

開発の問題点開発プロセスでは、データベース フィールドが頻繁に変更されるため、RD 環境と QA 環...

2 つの Linux サーバー間の自動ファイル同期

サーバーB(172.17.166.11)の電源がオンまたは再起動されると、サーバーA(172.17....

HTML テーブルの行間および列間の操作 (rowspan、colspan)

一般的に、<td> 要素の colspan 属性はセルの列間操作を実装するために使用され...

Windows Server 2016 で Flash を有効にする方法

最近、VMware Horizo​​n を導入してテストしましたが、そのコンソールにはデフォルトで ...

MySql 8.0.11 のインストールと設定のチュートリアル

公式ウェブサイトアドレス: https://dev.mysql.com/downloads/mysq...

Linux で Oracle データベースをバックアップするためのスケジュールされたタスクの設定に関するチュートリアル

1. データベースの文字セットを確認するデータベースの文字セットは、Linux で設定された環境変数...

CSS3はリストの無限スクロール/カルーセル効果を実現します

効果プレビューアイデア現在のリストを最後の項目までスクロールし、すぐに最初の項目に戻ります。問題1....

MySQL 5.7 でルートパスワードを変更する方法に関するチュートリアル

バージョンアップデートにより、元のユーザーのパスワードフィールドがauthentication_st...

ReactRouterの実装

ReactRouterの実装ReactRouterはReactのコアコンポーネントです。主にReac...

ウェブアニメーションのフレームレートFPSを計算する方法

目次スムーズなアニメーションの基準方法1: Chromeデベロッパーツールを使用する方法 2: フレ...

VMwareがLinuxシステムをインストールして起動した後に黒い画面が表示される問題を解決する

1. 設置環境1. HUAWEI mate x CPU i5 82500u、8g メモリ、独立グラフ...

Alibaba Cloud ECS centos6.8 に MySql5.7 をインストールして設定するチュートリアル

Alibaba Cloud yum コマンドでのデフォルトの MySQL バージョンは 5.17**...

Centos7 に Nginx 統合 Lua サンプル コードをインストール

序文私が使用しているパソコンはMacで、OSはmacOS Mojaveです。コンピュータに仮想マシン...