曇り空のアイコン効果を実現する純粋な CSS

曇り空のアイコン効果を実現する純粋な CSS

効果

効果は以下のとおりです

実装のアイデア

  1. box-shadow プロパティを使用して、複数の灰色の円を描画し、それらを組み合わせて暗い雲のパターンを形成します。
  2. 疑似要素が暗い雲の下に影を書いた後
  3. アニメーションを追加

DOM構造

ネストされた div コンテナーを 2 つ使用します。親コンテナーはアイコンの表示位置を制御し、子コンテナーは暗い雲のスタイルを記述するために使用されます。

<div class="コンテナ">
    <div class="cloudy"></div>
</div>

CSS スタイル

1. 親コンテナスタイル、ページ全体に背景色を追加して簡単にプレビューできるようにします

体{
    背景: rgba(73, 74, 95, 1);
}
。容器{
    幅: 170ピクセル;
    高さ: 170ピクセル;
    位置: 相対的;
    マージン: 250px 自動;
}

2. 暗い雲のスタイル。暗い雲は上下に動くアニメーションを持っています。ここで重要なのは、box-shadow プロパティの使用です。白の場合は、曇りの天気アイコンとして使用できます。

。曇り{
    幅: 50px;
    高さ: 50px;
    位置: 絶対;
    上: 70px;
    左: 80px;
    左マージン: -60px;
    背景: #ccc;
    境界線の半径: 50%;
    ボックスシャドウ: #ccc 65px -10px 0 -5px,
        #ccc 25px -25px、
        #ccc 30px 10px、
        #ccc 60px 15px 0 -10px、
        #ccc 85px 5px 0 -5px;
    アニメーション: 曇り、5 秒、ease-in-out、無限。
}
@keyframes 曇り{
    50%{
        変換: translateY(-20px);
    }
}

3. 投影スタイルには、after 疑似要素を使用できます。動くアニメーションもあることを忘れないでください。

.cloudy::after{
    コンテンツ: '';
    幅: 120ピクセル;
    高さ: 15px;
    位置: 絶対;
    下: -60px;
    左: 5px;
    背景: #000;
    境界線の半径: 50%;
    不透明度: 0.2;
    アニメーション: cloudy-shadow 5s easy-in-out infinite;
    変換: スケール(0.7);
}

@keyframes 曇りの影
    50%{
        変換: translateY(20px) スケール(1);
        不透明度: 0.05;
    }
}

はい、完了です。手順に従って、曇りの天気アイコンをページに実装することもできます〜

要約する

上記は曇り空のアイコン効果を実現するために私が紹介した純粋な CSS です。お役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

<<:  フロントエンド開発者に何百万ドルもの価値をもたらす 10 のスキル

>>:  Django が uwsgi+nginx プロキシで静的リソースにアクセスできない問題の解決方法

推薦する

JSON.stringify の簡易版の実装とその 6 つの主要機能の詳細な説明

目次序文JSON.stringify の 6 つの機能特集1特集2特集3特集4特集5特集6手動で文字...

MySQL データベースのインストールと Navicat for MySQL の使用に関するチュートリアル

MySQL は、スウェーデンの会社 MySQL AB によって開発され、現在は Oracle が所有...

Remレイアウトを使用して適応性を実現する

以前、モバイル適応に関する記事を書きました。非常に長く、内容が多すぎて読みづらいものでした。そこで、...

Vue ライフサイクルの紹介とフック関数の詳細な説明

目次Vueライフサイクルの紹介とフック機能VUEライフサイクルフックVue ライフサイクルの紹介作成...

MySQL レプリケーション メカニズムの原理の説明

背景レプリケーションはデータの完全なコピーです。レプリケーションが必要な理由として、まず思い浮かぶの...

VueRouterルーティングの詳細な説明

目次vueルーター1. ルーティングの概念を理解する1.1 ルーティングとは何ですか? 1.2. バ...

読み取り専用と無効の違い

要約すると: Readonly は入力 (テキスト/パスワード) とテキスト領域に対してのみ有効です...

require/import キーワードを使用して v-for ループでローカル画像をインポートするいくつかの方法

目次問題の説明方法 1 (バックエンドが画像 URL を返す)方法 2 (フロントエンドで requ...

Windows での MySQL 5.7.18 インストール チュートリアル

この記事では、圧縮パッケージから MySQL をインストールする方法について説明します。 1. My...

Linux の MariaDB データベースについて

目次Linux の MariaDB データベースについて1. データベースとは何ですか? 2. デー...

js を使用して 2 つの HTML ウィンドウ間で通信する方法

シナリオ: ページAがページBを開くと、ページBで操作した後、ページAは変更されたデータを同期する必...

私が良いと思うクールなデザインサイトをいくつかまとめてみました。

ウェブサイトをデザインするにはインスピレーションが必要です。良いインスピレーションを得るには、より多...

1分でVueが右クリックメニューを実装

目次レンダリングインストールコードの実装カスタムスタイル要約する効率的に要件を満たし、車輪の再発明を...

MySQL のインデックスにおける NULL の影響についての詳細な説明

序文私は多くのブログを読み、弊社の DBA を含む多くの人々が、MySql では列に null が含...