曇り空のアイコン効果を実現する純粋な 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 プロキシで静的リソースにアクセスできない問題の解決方法

推薦する

MySQL でのバイナリ型操作

この記事は主にMySQLデータベースのバイナリ型操作を紹介し、具体的な内容を通して紹介します。MyS...

HTML_PowerNode 入門 Java アカデミー

HTMLとは何ですか? HTML は Web ページを記述するために使用される言語です。 HTML ...

Vue は Tencent Map を統合して API を実装します (デモ付き)

目次執筆の背景プロジェクトの説明事前準備注記執筆の背景以前のプロジェクトではTencent Maps...

ウェブのさまざまなフロントエンド印刷方法: CSS はウェブページの印刷スタイルを制御します

CSS は Web ページの印刷スタイルを制御します。 CSS を使用して印刷スタイルを制御します。...

Docker で Elasticsearch Kibana と ik Word Segender をデプロイする詳細な説明

esインストール docker pull elasticsearch:7.4.0 # -d : バッ...

Prometheus+Grafanaによるnginxの監視方法を分析する

目次1. ダウンロード2. nginxとnginx-vts-exporterをインストールする3. ...

Ubuntuで顔認識ログインを実装するための完全な手順

1. Howdyをインストール: howdyプロジェクトアドレス sudo add-apt-repo...

Vue でルートをジャンプする方法をご存知ですか?

目次最初の方法: router-link (宣言型ルーティング) 2番目の方法: router.pu...

レスポンシブデザインについて知っておくべきこと

レスポンシブデザインとは、ウェブサイトの開発プロセス中に、ユーザーの操作やデバイス環境に応じて対応す...

Tencent Cloud Serverの構築方法を説明します(グラフィックチュートリアル)

この記事は元々ブロガーのWeiwei Miaoによって書かれたものです。ブログホームページ: htt...

OneProxy に基づいて MySQL の読み取り/書き込み分離と負荷分散を実装する

導入パート1: 冒頭に書いたOneProxy は、民間ソフトウェアによって完全に独立して開発された分...

HTMLは入力完了を検出する機能を実装する

入力が進行中かどうかを検出するには、「onInput(event)」を使用しますコンテンツが変更され...

Html+CSS 描画三角形アイコン

まずはレンダリングを見てみましょう: XML/HTML コードコンテンツをクリップボードにコピー&l...

さまざまな MySQL テーブルソートルールのエラーの分析

MySQL が複数のテーブルを結合するときに、次のエラーが報告されます: [Err]1267 – 操...

WebStormはVue3統合APIのソリューションを正しく識別できません

1 問題の説明Vue3 の統合 API は、defineComponent やその他の関数が認識でき...