Why it matters
Content that moves after it renders makes people mis-tap and lose their place. CLS above 0.1 fails Core Web Vitals.
How to fix it
Reserve space for late content: width/height or aspect-ratio on media, min-height on slots for banners/ads/embeds, position fixed/sticky for toasts and consent bars, and metric-matched fallback fonts.
Example
.banner-slot { min-height: 56px; }
img, video { height: auto; } /* with width+height attributes */References
More performance rules
void perf reports 25 rules in this category. Core Web Vitals and bytes: LCP, CLS, TBT, TTFB, JavaScript, CSS, fonts, images, caching and compression, measured as the median of several runs on a throttled mobile and a desktop profile.
lcp-slowLargest Contentful Paint is slowttfb-slowServer response (TTFB) is slowfcp-slowFirst Contentful Paint is slowtbt-highMain thread is blocked by long tasks during loadjs-budgetFirst-load JavaScript exceeds the budgetcss-budgetCSS transfer exceeds the budgetfont-budgetWeb font transfer exceeds the budgettoo-many-fontsToo many font files are downloaded