Cartoon Bubble

Retro & Themed · Static · pure CSS

A bright fill ringed by an inner white outline and a thick outer ink ring, built from stacked copies. The classic sticker/comic bubble.

Cartoon Bubble

How it works

Cartoon Bubble is a static retro & themed 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

Cartoon Bubble exposes 3 dedicated controls — Fill Hue, White Ring and Ink Ring — 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

/* Cartoon Bubble — generated with TEXT-FX
 * HTML: the element needs a data-text attribute equal to its text.
 * Font: 'Archivo Black', sans-serif (load from Google Fonts).
 */

.text-effect {
  font-family: 'Archivo Black', sans-serif;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.text-effect {
  position: relative;
  isolation: isolate;
  color: hsl(132 92% 60%);
  filter: drop-shadow(2px 3px 0 hsl(132 50% 10% / 0.4));
}
.text-effect::before,
.text-effect::after {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  color: transparent;
  paint-order: stroke fill;
}
.text-effect::before {
  -webkit-text-stroke: 5px #fff;
  z-index: -1;
}
.text-effect::after {
  -webkit-text-stroke: 11px hsl(132 55% 12%);
  z-index: -2;
}

HTML

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

<style>
.text-effect {
  font-family: 'Archivo Black', sans-serif;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.text-effect {
  position: relative;
  isolation: isolate;
  color: hsl(132 92% 60%);
  filter: drop-shadow(2px 3px 0 hsl(132 50% 10% / 0.4));
}
.text-effect::before,
.text-effect::after {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  color: transparent;
  paint-order: stroke fill;
}
.text-effect::before {
  -webkit-text-stroke: 5px #fff;
  z-index: -1;
}
.text-effect::after {
  -webkit-text-stroke: 11px hsl(132 55% 12%);
  z-index: -2;
}
</style>

<div data-text="Your text" class="text-effect">Your text</div>
Category
Retro & Themed
Type
Static
Browser support
Stacked data-text copies with concentric -webkit-text-stroke rings
Capabilities
dataText

Related Retro & Themed effects