v148 · CSS
text-decoration-skip-ink: all
Extend ink-skipping underlines to every glyph — including CJK characters that auto deliberately left un-skipped. Opt in to consistent descender clearance across all writing systems.
concepts
-
Script Sampler
Toggle between
skip-ink: autoandskip-ink: allacross text in multiple scripts — Latin, Japanese, Chinese, Korean — and see exactly how ink-skipping changes for each script. -
Underline Workshop
Combine
text-underline-offset,text-underline-position, andskip-ink: allto build clean underlines that clear every descender in any language on your page. -
Multilingual Comparison
See
none,auto, andallapplied to eight writing systems — Latin, Cyrillic, Greek, Chinese, Japanese, Korean, Arabic, and Devanagari — side by side. The key reveal:autoskips CJK ink only withall. -
Typography Lab
A full-featured text-decoration playground. Sliders for underline-offset, decoration-thickness, and letter-spacing. A script catalog cycles through Latin, Arabic, Devanagari, CJK, Thai, and more. A before/after toggle shows crossing descenders. An auto vs all annotation panel explains exactly which ink gets skipped per glyph.
-
Skip Ink Comparison
Three columns (skip-ink: none / auto / all) rendered side by side at the same font size and decoration settings. Script buttons cycle through Latin, Greek, Arabic, CJK, and mixed text so you can see the behavioural difference per writing system. Controls for font size, underline color, offset, thickness, and position let you stress the exact CSS contract.
why it shipped
text-decoration-skip-ink: auto (Chrome's default since Chrome 64) prevents underlines from cutting through descenders on Latin letters like g, j, and y. But it deliberately skips CJK glyphs — ideographic characters sit on the baseline without descenders, so ink-skipping at typical underline positions produces inconsistent results. Web developers who customise text-underline-offset or text-underline-position: under to push the line below all glyphs now want ink-skipping for CJK text too. The all value provides exactly that opt-in: unconditional ink-skipping for every glyph regardless of writing system.
references
implementation reference
Need the exact API surface, compatibility boundaries, errors, lifecycle, and source links? Read the matching gendn reference ↗