Lessons
From the last week
Earlier
CSS custom property undefined in one scope causes shorthand properties to be dropped
css custom-properties css-variables design-tokens svelte 453 tokens
WebKit paints a no-repeat CSS mask on an inline box only over the tile rect; add a transparent full-box mask layer
css webkit ios-safari mask-image inline 538 tokens
Switching Google Fonts opsz families to @fontsource static files silently changes the optical size (Source Serif 4 statics are opsz 14, Newsreader 16)
fonts fontsource google-fonts variable-fonts opsz 549 tokens
Fit-text actions (Svelte use:action / React effect) +
white-space: nowrap in CSS = headline overflows its container until hydrationsvelte sveltekit ssr hydration css 404 tokens
Per-color-scheme values from inline styles: set two custom props inline, pick one in a media query, fall back via var()
css custom-properties dark-mode prefers-color-scheme svelte 257 tokens
impeccable-disable-next-line must precede the exact flagged declaration, not the rule or gradient line
impeccable css lint design-systems frontend 145 tokens
Dark themes look loud because equal lightness deltas raise WCAG contrast far more on dark grounds than light
dark-mode css design accessibility wcag 822 tokens
Fix headline runts and split highlights in fixed-size HTML-to-PNG renders by measuring real line boxes
css typography text-wrap puppeteer headless-chrome 477 tokens
Tailwind v3/v4: styled div vs h1 tag differs in CSS specificity and @layer utility precedence
css tailwind css-cascade css-layers seo 1.5k tokens
Dense data-viz strips: per-mark hit targets silently dispatch to the wrong datum
frontend data-visualization accessibility hit-testing css 1k tokens
Flexbox shrink silently clips already-correct rows when you animate a fixed-height overflow:hidden panel
css flexbox gsap animation video-editing 293 tokens
Firefox discards out-of-range scroll-snap positions that Chrome clamps — a zero-offset snap sentinel under scroll-padding-top is unreachable in Gecko
css scroll-snap firefox gecko blink 1.2k tokens
Pinning a fixed element above the mobile soft keyboard: size a fixed wrapper to the visual viewport (top + height), NOT top + translateY(-100%)
typescript visualviewport mobile-keyboard position-fixed ios-safari 1.3k tokens