BACKGROUNDS

Noise Gradient Background

A textured gradient background that combines soft color blending with subtle visual noise for a modern premium look.

Noise Gradient

Soft Color Blend with Subtle Texture

A modern textured background created with pure CSS.

HTML
<div class="noise-gradient-bg">

  <div class="noise-overlay"></div>

  <div class="noise-content">
    <span>Noise Gradient</span>
    <h2>Soft Color Blend with Subtle Texture</h2>
    <p>A modern textured background created with pure CSS.</p>
  </div>

</div>
CSS
.noise-gradient-bg{
  position:relative;
  min-height:320px;

  display:flex;
  align-items:center;
  justify-content:center;

  overflow:hidden;

  background:
    radial-gradient(
      circle at 20% 25%,
      rgba(34,211,238,.35),
      transparent 32%
    ),
    radial-gradient(
      circle at 80% 30%,
      rgba(139,92,246,.45),
      transparent 35%
    ),
    radial-gradient(
      circle at 55% 85%,
      rgba(217,70,239,.30),
      transparent 38%
    ),
    #050914;
}

.noise-overlay{
  position:absolute;
  inset:0;

  opacity:.16;

  background-image:
    repeating-radial-gradient(
      circle at 0 0,
      rgba(255,255,255,.18) 0,
      rgba(255,255,255,.18) 1px,
      transparent 1px,
      transparent 3px
    );

  background-size:5px 5px;

  mix-blend-mode:soft-light;

  pointer-events:none;
}

.noise-content{
  position:relative;
  z-index:2;

  max-width:600px;
  padding:30px;

  text-align:center;
}

.noise-content span{
  display:inline-block;
  margin-bottom:12px;

  color:#67e8f9;
  font-size:12px;
  font-weight:800;
  letter-spacing:1.5px;
  text-transform:uppercase;
}

.noise-content h2{
  margin:0 0 12px;

  color:#ffffff;
  font-size:32px;
  line-height:1.2;
}

.noise-content p{
  margin:0;

  color:#c7d2e5;
  font-size:15px;
}

How This Noise Gradient Background Works

The Noise Gradient Background creates a dark, textured backdrop using only HTML and CSS. Its structure is intentionally small: the main .noise-gradient-bg wrapper contains a separate .noise-overlay layer and a .noise-content section for the visible text. There is no JavaScript in this component, so the entire effect is produced through CSS gradients, positioning, opacity, and blending.

The base background starts with #050914, which provides the dark foundation. Three radial-gradient() layers are placed over it to create the colored areas. A cyan glow using rgba(34,211,238,.35) appears near 20% 25%, a stronger purple glow using rgba(139,92,246,.45) sits near 80% 30%, and a magenta glow using rgba(217,70,239,.30) is positioned lower at 55% 85%. Each gradient fades to transparent, allowing the colors to overlap naturally without covering the dark base.

The noise texture is handled by .noise-overlay. It uses position: absolute with inset: 0, so the layer covers the complete background area. Instead of loading a texture image, the component generates its pattern with repeating-radial-gradient(). Tiny semi-transparent white points are created between 0 and 1px, followed by transparent space up to 3px. A background-size of 5px 5px repeats that pattern across the section.

The overlay is deliberately subtle. Its opacity is set to .16, while mix-blend-mode: soft-light blends the texture with the gradients underneath rather than displaying it as a strong independent pattern. pointer-events: none also ensures that this decorative layer cannot interfere with links, buttons, or other interactive elements placed inside the background. For more information about this blending technique, see the MDN mix-blend-mode documentation.

Content remains above the texture because .noise-content has position: relative and z-index: 2. It is limited to 600px wide, receives 30px of padding, and uses centered text alignment. The small uppercase label is cyan, the heading is white at 32px, and the paragraph uses the softer #c7d2e5 color to maintain a clear text hierarchy against the dark background.

The parent also uses flexbox with align-items: center and justify-content: center, which keeps the content centered horizontally and vertically within the minimum 320px section height. overflow: hidden ensures that all visual layers remain inside the background container.

Customizing the Noise Gradient Background

The component can be adapted by changing a small set of CSS values while keeping its original layered structure intact.

  • Replace #050914 with another dark base color to change the overall background tone.
  • Change the cyan rgba(34,211,238,.35), purple rgba(139,92,246,.45), and magenta rgba(217,70,239,.30) values to create a different gradient palette.
  • Adjust positions such as 20% 25%, 80% 30%, and 55% 85% to move each colored glow around the section.
  • Modify the 32%, 35%, and 38% transparent stops to control how widely each radial gradient spreads.
  • Increase or decrease .noise-overlay opacity from .16 to make the texture more or less visible.
  • Change background-size: 5px 5px or the 1px-to-3px repeating pattern to alter the density of the generated noise.
  • Adjust min-height: 320px, the 600px content width, or 30px content padding to fit different page sections.
  • Update the 32px heading, 15px paragraph, and 12px label sizes to match the typography of the surrounding website.

Where to Use This Noise Gradient Background

Because the component is decorative and does not depend on JavaScript, it can be used behind many types of static or interactive page content.

  • Hero sections that need a dark background with more depth than a flat color.
  • Developer and technology websites using cyan, purple, and magenta visual themes.
  • Call-to-action sections containing headings, descriptions, and buttons.
  • Product feature introductions where content needs to remain the main focus.
  • Portfolio sections that need subtle texture without using a background image.
  • Landing-page banners with centered marketing or product copy.
  • Dark-mode sections where a plain solid background feels too simple.

For a related design with a different gradient arrangement, the Mesh Gradient Background provides another CodeRipple background option. Since this noise effect is built entirely with CSS, it can also sit behind normal HTML controls without requiring additional animation or scripting logic.

Frequently Asked Questions

Does the Noise Gradient Background use JavaScript?

No. The published component has no JavaScript. Its colored background, noise pattern, blending, layout, and text styling are all created with CSS.

How is the noise texture created without an image?

The .noise-overlay element uses repeating-radial-gradient() to generate tiny semi-transparent white marks. The pattern repeats with background-size: 5px 5px, producing a consistent texture across the container.

What does mix-blend-mode do in this component?

The noise overlay uses mix-blend-mode: soft-light, which blends its white texture with the gradient colors underneath. Combined with .16 opacity, this keeps the texture subtle rather than making it look like a separate layer sitting above the background.

Can the gradient colors and positions be changed?

Yes. Each radial gradient defines its own RGBA color, position, and fade point. Changing those values lets you create a different palette or redistribute the colored areas while retaining the same noise technique.

The Noise Gradient Background is a compact CSS effect that combines three transparent radial gradients with a generated texture layer, making it useful when a dark section needs subtle color variation and visual texture without images or JavaScript.

Scroll to Top