Markers
Highlighter-pen backgrounds
Pure CSS gradients behind inline text. Multi-line wraps via box-decoration-break: clone. Recolor any element by overriding --hl-color.
Underlines
Clean lines beneath the baseline
Two implementations: background gradients (for thicker, offsetable lines) and native text-decoration for wavy, dashed, double, dotted.
Scribbles
Hand-drawn underlines
Tileable SVG paths embedded as background-image data URIs. Color is baked into the SVG — to retint, override background-image on the element.
Strikethroughs
Cross it out
Standard line-through with a few thickness and style variants, plus a soft gradient version that centers a band on the line.
Animated
Sweep on hover or scroll
A marker that sweeps left-to-right via a background-size transition. Hover to preview, or toggle .is-active from an IntersectionObserver for scroll-triggered use. Respects prefers-reduced-motion.
Theming
One knob: --hl-color
Every marker, sweep, and soft-strike reads --hl-color for its tint, and underline backgrounds read --hl-stroke (defaults to currentColor). Override inline or in CSS.
box-decoration-break: clone, so each visual line gets its own background slice instead of one continuous bar across the whole paragraph.