Blend Invert

Fill & Texture · Animated · pure CSS

A self-contained backdrop of drifting two-tone stripes sits behind the glyphs, and mix-blend-mode: difference inverts a near-white duplicate wherever the boundary crosses it. The invert line sweeps continuously through the letterforms as the bands drift — bright over the dark stripe, dark over the light one — walled off inside the scope so the blend never touches the page.

Blend Invert

How it works

Blend Invert is an animated fill & texture text effect rendered entirely in CSS. A data-text attribute mirrors the word into ::before/::after layers, so copy that attribute together with the CSS.

Controls

Blend Invert exposes 3 dedicated controls — Backdrop Hue, Drift Speed and Band Angle — on top of the shared type controls (font, weight, letter-spacing and case). Open it in the generator to tune every value live, then copy the updated CSS.

CSS

/* Blend Invert — made with TEXT-FX · https://text-fx.app
 * HTML: the element needs a data-text attribute equal to its text.
 * Font: 'Bungee', cursive (load from Google Fonts).
 */

.text-effect {
  font-family: 'Bungee', cursive;
  font-weight: 700;
  letter-spacing: 8px;
  text-transform: none;
}

.text-effect {
  position: relative;
  display: inline-block;
  isolation: isolate;
  color: transparent;
  box-shadow: 0 14px 30px rgba(0,0,0,0.5);
  border-radius: 0.1em;
}
.text-effect::before {
  content: "";
  position: absolute;
  inset: -0.22em -0.42em;
  border-radius: 0.14em;
  background-image: repeating-linear-gradient(60deg, hsl(126 70% 16%) 0px, hsl(126 70% 16%) 40px, hsl(126 52% 84%) 40px, hsl(126 52% 84%) 80px);
  animation: text-effect-drift 4.6s linear infinite;
}
.text-effect::after {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  color: hsl(0 0% 97%);
  mix-blend-mode: difference;
  pointer-events: none;
}

@keyframes text-effect-drift {
  from { background-position: 0px 0px; }
  to   { background-position: 69.28px -40px; }
}

HTML

This effect needs the markup below (per-letter spans, SVG defs, or a data-text attribute).

<!-- Made with TEXT-FX · https://text-fx.app -->

<style>
.text-effect {
  font-family: 'Bungee', cursive;
  font-weight: 700;
  letter-spacing: 8px;
  text-transform: none;
}

.text-effect {
  position: relative;
  display: inline-block;
  isolation: isolate;
  color: transparent;
  box-shadow: 0 14px 30px rgba(0,0,0,0.5);
  border-radius: 0.1em;
}
.text-effect::before {
  content: "";
  position: absolute;
  inset: -0.22em -0.42em;
  border-radius: 0.14em;
  background-image: repeating-linear-gradient(60deg, hsl(126 70% 16%) 0px, hsl(126 70% 16%) 40px, hsl(126 52% 84%) 40px, hsl(126 52% 84%) 80px);
  animation: text-effect-drift 4.6s linear infinite;
}
.text-effect::after {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  color: hsl(0 0% 97%);
  mix-blend-mode: difference;
  pointer-events: none;
}

@keyframes text-effect-drift {
  from { background-position: 0px 0px; }
  to   { background-position: 69.28px -40px; }
}
</style>

<div data-text="Your text" class="text-effect">Your text</div>
Category
Fill & Texture
Type
Animated
Browser support
mix-blend-mode: difference over an isolated ::before/::after pair (all modern browsers)
Capabilities
dataText

Related Fill & Texture effects