Chrome 150 specimens

Chrome for Developers · Stable channel · June 30, 2026

Fitted type, gradient borders & themed art

Nine features from Chrome 150 — headlines auto-sized with text-fit, real gradient borders via background-clip: border-area, artwork that follows light-dark(), and arrow-key toolbars from a single focusgroup attribute. Running live below, with your browser's real support on every badge.

Pick a release to see its demos

text-fit checking…
Type to resize me

Type that fills its box

Chrome 150 sizes text to its container automatically — no measuring loops. Shown here with a JS fallback so it works in any browser; the native way is one line: text-fit: consume-width.

background-clip: border-area checking…
solid ring
dashed ring

Gradient borders, for real

Clip a background to the border stroke — so a gradient can follow a dashed or dotted border, which the old two-background trick never could.

zoom (animatable) checking…
OKLCH · 2026

Zoom you can animate

Unlike transform: scale(), zoom affects layout — and now it interpolates as a number, so transitions glide instead of snapping.

image() checking…
  • 25°
  • 85°
  • 155°
  • 230°
  • 305°

A color, where an image is required

image(<color>) mints a solid image from any color — usable in border-image-source, mask, or list markers, where a bare <color> isn't allowed.

polygon(round …) checking…

Rounded polygons, no math

Add round <length> inside polygon() and every corner softens — no hand-computed bézier curves or path().

@container A, B checking…

Boarding

CNX → BKK

Seat 14A · 08:40

Drag the bottom-right corner — layout switches at the breakpoint.

One rule, several queries

A comma lets a single @container list multiple conditions — the rule applies if any match, which is how you ship a fallback query for syntax a browser doesn't grok yet.

flex-wrap: balance checking…
anchorpositioningtext-fitgap light-darkcontainer@scopebalance

Even lines, like text-wrap

The new balance value spreads items across flex lines so the last row isn't a lonely orphan — text-wrap: balance, but for flex.

light-dark(<image>) checking…

Flip the theme switch (top-right) — the artwork follows.

Art that follows the theme

light-dark() now takes images, not just colors — so background-image, cursor, or content can swap per scheme with zero JS.

focusgroup="toolbar wrap" checking…

Tab into the bar, then to move — one tab stop, remembered position.

Arrow-key widgets, declared

One attribute gives a toolbar roving focus, a single tab stop and last-focused memory — deleting the boilerplate tabindex script you'd normally hand-write.