Skip to content
ClearedGet the next issue
Issue 03

Cleared 03 · March 2026 · Cleared to use. Cleared to delete. Five minutes.

Delete your equal-height card hack

Published April 6, 2026 · covers March 2026 · 4 Cleared·1 Hold

Eight of March’s ten arrivals landed on a single day, March 24, when Firefox 149 and Safari 26.4 both shipped. One was baseline-shift, a property Chrome has carried since 2008. But the month’s real business is in the eleven features that finished their 30 months of support, because three of them let you delete something. Start with your card grids.

01Cleared

Subgrid

Safe everywhere as of March 15, 2026

A nested grid can adopt its parent’s rows or columns instead of declaring its own: the track sizes come from the parent, and the subgrid’s items feed their sizes back up.

Delete: the script that measures card sections and equalizes their heights, or the fixed row heights doing the same job with magic numbers.

CSS · before after
/* every card hard-codes the shared row plan */
.card  { display: grid; grid-template-rows: 3rem 6rem 2rem; }

/* cards borrow their rows from the grid they sit in */
.cards { display: grid; grid-template-columns: repeat(3, 1fr);
         grid-template-rows: repeat(3, auto); }
.card  { display: grid; grid-row: span 3;
         grid-template-rows: subgrid; }

Track sizing, gaps and line names pass in all four current stable runs. The one seam is baseline alignment: Firefox still fails most of the suite’s baseline tests inside subgrids, so if your grid code contains align-items: baseline or align-self: baseline, check Firefox before deleting. That is the search. In a browser without subgrid the declaration drops and rows fall back to auto: misaligned cards, not broken ones.

02Cleared

Hyphenation

Safe everywhere as of March 18, 2026

hyphens: auto breaks words at dictionary-approved points. Safari 17 completed the set in September 2023; the 30 months ran out on March 18. It already appears on about one page load in a thousand.

Delete: the script or build step that sprays soft hyphens into your text.

HTML · before after
<!-- generated markup -->
Silben&shy;trennung

<!-- requires lang="de" (or whatever applies) on the markup -->
<style> article { hyphens: auto; } </style>

The boundary is the language. The spec only requires hyphenation where the content language is known and the browser has a dictionary for it, so hyphens: auto without a lang attribute is a no-op by design. Coverage is also uneven: the suite’s eleven language-specific tests currently fail in all four stable runs, which names no single blocker but does say to spot-check the languages you actually publish. Failure is the gentle kind: no dictionary, no hyphens, a ragged edge.

03Cleared

image-set()

Safe everywhere as of March 18, 2026

Resolution switching for CSS backgrounds, the srcset of background-image. Chromium dropped the prefix in May 2023; Safari 17 was the last piece.

Delete: the -webkit-image-set() line.

CSS · before after
background-image: url(hero.png);
background-image: -webkit-image-set(url(hero.png) 1x, url(hero@2x.png) 2x);
background-image: image-set(url(hero.png) 1x, url(hero@2x.png) 2x);

/* keep the plain url() line */
background-image: url(hero.png);
background-image: image-set(url(hero.png) 1x, url(hero@2x.png) 2x);

Every rendering test passes in all four current stable runs. The only misses anywhere are in parsing, where Chrome, Edge and Firefox each pass 138 of 142 subtests and Safari passes all 142. Do keep the plain url() line: in a browser outside the core set that lacks image-set(), it is the difference between a low-resolution image and no image.

04Hold

Custom highlights

Not yet

Style ranges of text from script without wrapping them in elements: register a Highlight, style it with ::highlight(). Firefox 149 shipped the last piece on March 24.

CSS
::highlight(search-match) { background-color: Mark; }

The scores say wait. Chrome and Edge pass 94% of the stable suite. Safari, which has had the feature since late 2023, passes 66%. Firefox 149, the release that flipped the label, passes 70%, and it fails nearly the same tests Safari does. The failures are the visible kind: highlight painting over text sized with font-relative or container-relative units, vertical writing mode, and in Safari’s case text shadows inside highlights. Until both catch up, the span-wrapping you already do is the more predictable renderer.

05Cleared

text-indent: hanging

New this month, March 13, 2026

One keyword inverts text-indent, so every line except the first is indented: the hanging indent of bibliographies and transcripts.

Delete: the two-declaration pair that fakes it.

CSS · before after
/* indent everything, pull the first line back */
.ref { padding-left: 2em; text-indent: -2em; }

.ref { text-indent: 2em hanging; }

Chromium shipped it on March 10, three days before the label; Safari has had it since 2021, Firefox since 2023. Every test passes in every current stable run, mobile included, which is rare enough this month to be worth saying. In an older browser the declaration is invalid and drops: lines sit flush, nothing breaks. Its sibling each-line went Baseline the same day.

That was March: four deletions and one wait, courtesy of test runs that say what the label does not.

Deleted something thanks to this? Got a correction? .

Subscribe