Ransom Note
Retro & Themed · Static · pure CSS
Every letter is a cut-out chip with its own typeface, tilt and paper shade — the classic mismatched kidnapper-note collage (per-letter markup).
CSS
/* Ransom Note — generated with TEXT-FX
* HTML: each character is wrapped in a <span> — see the HTML export.
* Font: 'Archivo Black', sans-serif (load from Google Fonts).
*/
.text-effect {
font-family: 'Archivo Black', sans-serif;
font-weight: 700;
letter-spacing: 8px;
text-transform: none;
}
.text-effect {
white-space: pre;
}
.text-effect .fx-ch {
display: inline-block;
padding: 0.02em 0.1em;
margin: 0 0.03em;
color: #141414;
background: #f3efe2;
box-shadow: 1px 1px 2px hsl(0 0% 0% / 0.35);
}
.text-effect .fx-ch:nth-child(odd) {
font-family: Georgia, "Times New Roman", serif;
transform: rotate(-3deg);
}
.text-effect .fx-ch:nth-child(even) {
font-family: "Courier New", monospace;
transform: rotate(1deg);
background: #e7e2d2;
}
.text-effect .fx-ch:nth-child(3n) {
font-family: Impact, Haettenschweiler, sans-serif;
transform: rotate(-1deg) scale(1.08);
background: #ffffff;
}
.text-effect .fx-ch:nth-child(5n) {
color: #f3efe2;
background: #161616;
transform: rotate(2deg);
}
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: 8px;
text-transform: none;
}
.text-effect {
white-space: pre;
}
.text-effect .fx-ch {
display: inline-block;
padding: 0.02em 0.1em;
margin: 0 0.03em;
color: #141414;
background: #f3efe2;
box-shadow: 1px 1px 2px hsl(0 0% 0% / 0.35);
}
.text-effect .fx-ch:nth-child(odd) {
font-family: Georgia, "Times New Roman", serif;
transform: rotate(-3deg);
}
.text-effect .fx-ch:nth-child(even) {
font-family: "Courier New", monospace;
transform: rotate(1deg);
background: #e7e2d2;
}
.text-effect .fx-ch:nth-child(3n) {
font-family: Impact, Haettenschweiler, sans-serif;
transform: rotate(-1deg) scale(1.08);
background: #ffffff;
}
.text-effect .fx-ch:nth-child(5n) {
color: #f3efe2;
background: #161616;
transform: rotate(2deg);
}
</style>
<div class="text-effect">
<span class="fx-ch" style="--i:0;--n:9;--rev:8;--mid:4">Y</span>
<span class="fx-ch" style="--i:1;--n:9;--rev:7;--mid:4">o</span>
<span class="fx-ch" style="--i:2;--n:9;--rev:6;--mid:4">u</span>
<span class="fx-ch" style="--i:3;--n:9;--rev:5;--mid:4">r</span>
<span class="fx-ch" style="--i:4;--n:9;--rev:4;--mid:4"> </span>
<span class="fx-ch" style="--i:5;--n:9;--rev:3;--mid:4">t</span>
<span class="fx-ch" style="--i:6;--n:9;--rev:2;--mid:4">e</span>
<span class="fx-ch" style="--i:7;--n:9;--rev:1;--mid:4">x</span>
<span class="fx-ch" style="--i:8;--n:9;--rev:0;--mid:4">t</span>
</div>
- Category
- Retro & Themed
- Type
- Static
- Browser support
- Per-letter cut-out chips with varied fonts/tilt (overrides the Font control)
- Capabilities
- perLetter