Photorealistic Bloom Effect
Advanced bloom/glow effect with multiple blur layers and color grading
Code
.bloom-container {
width: 300px;
height: 300px;
display: flex;
align-items: center;
justify-content: center;
background: #000;
border-radius: 16px;
position: relative;
overflow: hidden;
}
.bloom-element {
width: 150px;
height: 150px;
border-radius: 50%;
background: radial-gradient(circle, #ffd700 0%, #ff8c00 70%, #ff4500 100%);
position: relative;
z-index: 2;
}
.bloom-layer-1 {
position: absolute;
width: 150px;
height: 150px;
border-radius: 50%;
background: radial-gradient(circle, #ffd700 0%, #ff8c00 70%, #ff4500 100%);
filter: blur(15px);
opacity: 0.8;
z-index: 1;
}
.bloom-layer-2 {
position: absolute;
width: 200px;
height: 200px;
border-radius: 50%;
background: radial-gradient(circle, #ff8c00 0%, #ff4500 100%);
filter: blur(30px);
opacity: 0.5;
z-index: 0;
}
.bloom-layer-3 {
position: absolute;
width: 250px;
height: 250px;
border-radius: 50%;
background: radial-gradient(circle, #ff4500 0%, #dc143c 100%);
filter: blur(45px);
opacity: 0.3;
z-index: 0;
}
.bloom-container::after {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(45deg, rgba(255,0,0,0.2), rgba(255,255,0,0.2));
mix-blend-mode: screen;
pointer-events: none;
}HTML
<"attr-name"</span>>class</span>="tag"</span>>div</span> "attr-name"</span>>class</span>="bloom-container"</span>>
<"attr-name"</span>>class</span>="tag"</span>>div</span> "attr-name"</span>>class</span>="bloom-element"</span>></"attr-name"</span>>class</span>="tag"</span>>div</span>>
<"attr-name"</span>>class</span>="tag"</span>>div</span> "attr-name"</span>>class</span>="bloom-layer-1"</span>></"attr-name"</span>>class</span>="tag"</span>>div</span>>
<"attr-name"</span>>class</span>="tag"</span>>div</span> "attr-name"</span>>class</span>="bloom-layer-2"</span>></"attr-name"</span>>class</span>="tag"</span>>div</span>>
<"attr-name"</span>>class</span>="tag"</span>>div</span> "attr-name"</span>>class</span>="bloom-layer-3"</span>></"attr-name"</span>>class</span>="tag"</span>>div</span>>
</"attr-name"</span>>class</span>="tag"</span>>div</span>>