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 6 April 2026 · covers March 2026 · 4 Cleared·1 Hold

Eight of March’s ten arrivals landed on a single day, 24 March, 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 15 March 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 equalises 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 18 March 2026

hyphens: auto breaks words at dictionary-approved points. Safari 17 completed the set in September 2023; the 30 months ran out on 18 March. 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 18 March 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 a handful of parsing subtests, 140 to 142 of 144. 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 24 March.

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

The browser that flipped the label is not the problem: Firefox passes 95% of the stable suite, Chrome and Edge 94%. Safari’s current stable run passes 66%, and the failures are the visible kind: highlight painting over text sized with font-relative or container-relative units, text shadows inside highlights, vertical writing mode. Safari has had the feature since late 2023, and its preview run now passes the full suite, so this Hold has an end in sight. Until that ships, the span-wrapping you already do is the more predictable renderer.

05Cleared

text-indent: hanging

New this month, 13 March 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 10 March, two weeks 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 a Safari run that says what the label does not.

Deleted something because of this? Got a correction? . I read every one.

Subscribe