ホームページ ウェブフロントエンド CSSチュートリアル あまり知られていない! CSSを使用してオーロラ効果を作成する

あまり知られていない! CSSを使用してオーロラ効果を作成する

Feb 09, 2022 pm 05:47 PM
css

この記事では、CSS を使用してオーロラ効果を実現する方法を紹介します。主な手順には、暗い背景の描画、グラデーションを使用したオーロラの輪郭の描画、回転と伸縮、その他の関連する問題が含まれます。みんなの役に立つでしょう。

あまり知られていない! CSSを使用してオーロラ効果を作成する

#CSS を使用して Aurora を実現することは可能ですか?

こんな感じ:

あまり知られていない! CSSを使用してオーロラ効果を作成する

えっと、これはちょっと恥ずかしいですね。しかし、最近試してみました。このようなリアルな効果をシミュレートすることは不可能ですが、CSS を使用して同様の特殊効果を作成することはできます。今日はそれを一緒に試してみます。

いくつかのオーロラ写真を観察した後、オーロラ アニメーションのより重要な要素をいくつか発見しました:

  1. 暗い背景に基づいた明るいグラデーション カラー

  2. 水の波の流れに似たアニメーション効果

##gradient を使用して、明るいグラデーション カラーをシミュレートしてみます。水の波のアニメーション効果については、SVG フィルター feturbulence がこのために特別に設計されており、このフィルターの使用については、私の過去の記事の多くで繰り返し言及されています。

グラデーションと SVG の

フィルターに加えて、混合モード(mix-blend-mode )も使用できます。 CSSフィルター等で効果を高めます。

OK、大まかなアイデアを理解したら、あとは試し続けるだけです。

ステップ 1. 暗い背景を描画します

まず、夜空を表すために暗い背景が必要になる場合があります。同時に、いくつかの星を飾ります。星は、

box-shadow を使用してシミュレートできます。このようにして、1 つの p で夜空の背景を完成させることができます:

<p class="g-wrap">
</p>
ログイン後にコピー
@function randomNum($max, $min: 0, $u: 1) {
 @return ($min + random($max)) * $u;
}

@function shadowSet($n, $size) {
    $shadow : 0 0 0 0 #fff;
    
    @for $i from 0 through $n { 
        $x: randomNum(350);
        $y: randomNum(500);
        $scale: randomNum($size) / 10;
        
        $shadow: $shadow, #{$x}px #{$y}px 0 #{$scale}px rgba(255, 255, 255, .8);
    }
    
    @return $shadow;
}

.g-wrap {
    position: relative;
    width: 350px;
    height: 500px;
    background: #0b1a3a;
    overflow: hidden;
    
    &::before {
        content: "";
        position: absolute;
        width: 1px;
        height: 1px;
        border-radius: 50%;
        box-shadow: shadowSet(100, 6);
}
ログイン後にコピー

このステップは、比較的簡単に、 SASS を使用すると、このような夜空の背景画像を取得できます。

あまり知られていない! CSSを使用してオーロラ効果を作成する

#ステップ 2. グラデーションを使用してオーロラの輪郭を描画します

次のステップは、グラデーションを使用してオーロラの輪郭効果を作成することです。

実際には、放射状のグラデーションです。

<p class="g-wrap">
  <p class="g-aurora"></p>
</p>
ログイン後にコピー
.g-aurora {
    width: 400px;
    height: 300px;
    background: radial-gradient(
        circle at 100% 100%,
        transparent 45%,
        #bd63c1 55%,
        #53e5a6 65%,
        transparent 85%
    );
}
ログイン後にコピー

あまり知られていない! CSSを使用してオーロラ効果を作成する

ステップ 3. 回転して引き伸ばします

現時点では、ちょっとした概要です。次に、取得したグラデーション効果を回転および伸縮して変形します。

.g-aurora {
    ...
    transform: rotate(45deg) scaleX(1.4);
}
ログイン後にコピー

おそらくこのような効果が得られるでしょう:

あまり知られていない! CSSを使用してオーロラ効果を作成する

ステップ 4. 魔法のブレンド モード変換!

この時点で、実際にプロトタイプが完成しました。ただし、色はあまり似ていないので、暗い背景とブレンドするために、ここでは描画モード

mix-blend-mode を使用します。

.g-aurora {
    ...
    transform: rotate(45deg) scaleX(1.4);
    mix-blend-mode: color-dodge;
}
ログイン後にコピー

何か魔法のようなことが起こりました。その効果を見てください:

あまり知られていない! CSSを使用してオーロラ効果を作成する

image
全体の色はオーロラの色に似ています。

ステップ 5. SVG の胎児気流フィルターをオーバーレイする

次に、水の波紋の効果を生成したいので、SVG の

フィルターを使用する必要があります

SVG

フィルターを追加し、CSS filter を使用して

<p class="g-wrap">
  <p class="g-aurora"></p>
</p>


    
        
            
            
        
    
ログイン後にコピー
.g-aurora {
    ...
    transform: rotate(45deg) scaleX(1.4);
    mix-blend-mode: color-dodge;
    filter: url(#wave);
}
ログイン後にコピー

を参照します。

このような効果を得ることができます。

あまり知られていない! CSSを使用してオーロラ効果を作成する

うわー、あなたもすでにそう感じていませんか?胎児気流の特徴を通じて、オーロラの効果をほぼシミュレートすることができます。

ステップ 6. オーロラを動かしましょう

最後のステップでは、オーロラを動かす必要があります。 SVG アニメーション自体は

animation-fill-mode: altered のような機能をサポートしていないためです。アニメーションのループ全体を制御するには、まだ小さな JavaScript コードを記述する必要があります。

おおよそのコードは次のとおりです:

var filter = document.querySelector("#turbulence");
var frames = 0;
var rad = Math.PI / 180;

function freqAnimation() {
  bfx = 0.005;
  bfy = 0.005;
  frames += .5
  bfx += 0.0025 * Math.cos(frames * rad);
  bfy += 0.0025 * Math.sin(frames * rad);

  bf = bfx.toString() + &#39; &#39; + bfy.toString();
  filter.setAttributeNS(null, &#39;baseFrequency&#39;, bf);
  window.requestAnimationFrame(freqAnimation);
}

window.requestAnimationFrame(freqAnimation);
ログイン後にコピー

この時点で、完全な動くオーロラ アニメーションが完成しました:

あまり知られていない! CSSを使用してオーロラ効果を作成する

いくつかのヒントその他の事項


  1. グラデーション要素の周囲に明らかな境界線のバリ効果があります。黒い内側のシャドウを使用できます。

    box-shadow: inset ...削除;

  2. 実際の書き込みプロセスにおける各属性の実際のパラメータは単純に見えますが、実際には継続的なデバッグの後に取得されています;

  3. ミキシング モードと SVG フェタービュレンス フィルターは習得が難しく、継続的な練習と継続的なデバッグが必要です。この記事での Aurora の色の選択には、あまり繰り返しのデバッグは行われていません。効果をデバッグできるようになり、より良い色になります。

最終的な効果は完璧ではありませんが、それでも優れた CSS SVG 作品です。完全なコードはここで見ることができます:

(学習ビデオ共有: css ビデオ チュートリアル )

以上があまり知られていない! CSSを使用してオーロラ効果を作成するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

ブートストラップにスプリットラインを書く方法 ブートストラップにスプリットラインを書く方法 Apr 07, 2025 pm 03:12 PM

ブートストラップスプリットラインを作成するには2つの方法があります。タグを使用して、水平方向のスプリットラインを作成します。 CSS Borderプロパティを使用して、カスタムスタイルのスプリットラインを作成します。

ブートストラップに写真を挿入する方法 ブートストラップに写真を挿入する方法 Apr 07, 2025 pm 03:30 PM

ブートストラップに画像を挿入する方法はいくつかあります。HTMLIMGタグを使用して、画像を直接挿入します。ブートストラップ画像コンポーネントを使用すると、レスポンシブ画像とより多くのスタイルを提供できます。画像サイズを設定し、IMG-Fluidクラスを使用して画像を適応可能にします。 IMGボーダークラスを使用して、境界線を設定します。丸い角を設定し、IMGラウンドクラスを使用します。影を設定し、影のクラスを使用します。 CSSスタイルを使用して、画像をサイズ変更して配置します。背景画像を使用して、背景イメージCSSプロパティを使用します。

ブートストラップのサイズを変更する方法 ブートストラップのサイズを変更する方法 Apr 07, 2025 pm 03:18 PM

Bootstrapの要素のサイズを調整するには、次のものを含むDimensionクラスを使用できます。

HTML、CSS、およびJavaScriptの役割:コアの責任 HTML、CSS、およびJavaScriptの役割:コアの責任 Apr 08, 2025 pm 07:05 PM

HTMLはWeb構造を定義し、CSSはスタイルとレイアウトを担当し、JavaScriptは動的な相互作用を提供します。 3人はWeb開発で職務を遂行し、共同でカラフルなWebサイトを構築します。

ブートストラップのフレームワークをセットアップする方法 ブートストラップのフレームワークをセットアップする方法 Apr 07, 2025 pm 03:27 PM

Bootstrapフレームワークをセットアップするには、次の手順に従う必要があります。1。CDNを介してブートストラップファイルを参照してください。 2。独自のサーバーでファイルをダウンロードしてホストします。 3。HTMLにブートストラップファイルを含めます。 4.必要に応じてSASS/LESSをコンパイルします。 5。カスタムファイルをインポートします(オプション)。セットアップが完了したら、Bootstrapのグリッドシステム、コンポーネント、スタイルを使用して、レスポンシブWebサイトとアプリケーションを作成できます。

ブートストラップボタンの使用方法 ブートストラップボタンの使用方法 Apr 07, 2025 pm 03:09 PM

ブートストラップボタンの使用方法は?ブートストラップCSSを導入してボタン要素を作成し、ブートストラップボタンクラスを追加してボタンテキストを追加します

ブートストラップの日付を表示する方法 ブートストラップの日付を表示する方法 Apr 07, 2025 pm 03:03 PM

回答:ブートストラップの日付ピッカーコンポーネントを使用して、ページで日付を表示できます。手順:ブートストラップフレームワークを紹介します。 HTMLで日付セレクター入力ボックスを作成します。ブートストラップは、セレクターにスタイルを自動的に追加します。 JavaScriptを使用して、選択した日付を取得します。

VueでBootstrapの使用方法 VueでBootstrapの使用方法 Apr 07, 2025 pm 11:33 PM

vue.jsでBootstrapを使用すると、5つのステップに分かれています。ブートストラップをインストールします。 main.jsにブートストラップをインポートしますブートストラップコンポーネントをテンプレートで直接使用します。オプション:カスタムスタイル。オプション:プラグインを使用します。

See all articles