SnippetUI

Aurora Background

A fantastic background effect that flows like an aurora borealis with multiple animated oval blobs and filters. Implemented with pure CSS.

HTMLCSS

Preview

Aurora background made possible with pure CSS. The blob continues to move smoothly, creating a fantastic atmosphere.

夜空に踊る

ピュアCSSで演出するオーロラ背景。訪問者を幻想的な表現で引き込みます。

Use cases and features

  • Hero Section Background: Perfect for the background of the hero area of your landing page or splash page.

  • Pure CSS implementation: backdrop-filter not required. This can be achieved simply by applying filter: blur to the parent element of the blob.

  • Different delays and durations for multiple blobs: Setting each to prevent monotony of movement.

  • Content overlay: You can overlay content with z-index: 1 on top of the blob.

Points of design and UX

  1. filter: blur(60px) on parent element: Improve performance by applying it to parent element instead of individual blobs.

  2. Difference in wavelength from 8 to 13 seconds: Creating a natural sense of movement by not following the same rhythm.

  3. radial-gradient to make it transparent from the center: Smooth color bleeding makes the soft light of the aurora style appear translucent.

How to customize

バリエーション例: サンセット


.aurora-blob-1 { background: radial-gradient(ellipse, #f97316 0%, transparent 70%); }

.aurora-blob-2 { background: radial-gradient(ellipse, #ef4444 0%, transparent 70%); }

.aurora-blob-3 { background: radial-gradient(ellipse, #f59e0b 0%, transparent 70%); }

ブレンドの強さを変える


.aurora-blobs { opacity: 0.8; } /* 強め */

.aurora-blobs { opacity: 0.4; } /* 弱め */

Implementation code

<div class="aurora-wrap">

<div class="aurora-blobs">

  <div class="aurora-blob aurora-blob-1"></div>

  <div class="aurora-blob aurora-blob-2"></div>

  <div class="aurora-blob aurora-blob-3"></div>

  <div class="aurora-blob aurora-blob-4"></div>

</div>

<div class="aurora-content">

  <h2>夜空に踊る</h2>

  <p>ピュアCSSで演出するオーロラ背景。</p>

</div>

</div>



<style>
.aurora-wrap { position: relative; width: 100%; min-height: 400px; background: #030014; overflow: hidden; }

.aurora-blobs { position: absolute; inset: 0; filter: blur(60px); opacity: 0.65; }

.aurora-blob { position: absolute; border-radius: 50%; animation: aurora-move 10s ease-in-out infinite; }

.aurora-blob-1 { width: 400px; height: 300px; background: radial-gradient(ellipse, #6366f1 0%, transparent 70%); top: -100px; left: -100px; }

.aurora-blob-2 { width: 350px; height: 350px; background: radial-gradient(ellipse, #8b5cf6 0%, transparent 70%); top: -50px; right: -80px; animation-delay: -3s; animation-duration: 13s; }

.aurora-blob-3 { width: 300px; height: 250px; background: radial-gradient(ellipse, #06b6d4 0%, transparent 70%); bottom: -80px; left: 30%; animation-delay: -6s; animation-duration: 8s; }

.aurora-blob-4 { width: 250px; height: 300px; background: radial-gradient(ellipse, #ec4899 0%, transparent 70%); bottom: -60px; right: 10%; animation-delay: -2s; animation-duration: 11s; }

@keyframes aurora-move {

0%, 100% { transform: translate(0,0) scale(1); }

33% { transform: translate(30px,-20px) scale(1.05); }

66% { transform: translate(-20px,25px) scale(0.95); }

}

.aurora-content { position: relative; z-index: 1; text-align: center; padding: 3rem; }
</style>

Browser compatibility status

| Browser | Compatibility status |

|--------|-------|

| Chrome 43+ | ✅ Fully compatible |

| Firefox 16+ | ✅ Fully compatible |

| Safari 9+ | ✅ Fully compatible |

| Edge 79+ | ✅ Fully compatible |

Blue filters can affect performance on mobile, so consider stopping the animation with animation: none or adjusting min-height.