DEV Community

Lucas Rocha
Lucas Rocha

Posted on

šŸ›‘ Chega de Pulos na Tela! Guia PrĆ”tico para Eliminar o CLS (Cumulative Layout Shift) (Parte 3 de 3 sobre Core Web Vitals)

I. Introdução: A Chateação dos Deslocamentos Visuais Inesperados

"JÔ passou pela situação de estar lendo algo e a pÔgina 'dar um tranco'? Isso é CLS. Evite isso, buscando uma vivência online melhor."

II. Entendendo o CLS: Por Que as PƔginas se 'Movem' Sozinhas?

"Falta de dimensões em imagens, anúncios que demoram a aparecer, troca de fontes, conteúdo dinâmico em cima: os culpados mais comuns."

III. Como Avaliar e Encontrar Onde EstĆ” o Problema

"Use a mƩtrica CLS no Lighthouse e no PageSpeed Insights. Acompanhe os resultados em tempo real."

IV. SoluƧƵes Simples para Acabar Com o CLS:

  1. Dimensões Certas: A Solução Para Imagens e Vídeos Firmes

"Sempre coloque width e height ou empregue aspect-ratio."

HTML

<img src="gato.jpg" alt="Gato" width="600" height="400">
<div style="width: 100%; aspect-ratio: 16 / 9;"></div>
Enter fullscreen mode Exit fullscreen mode
  1. Prepare o Terreno: Minimizando Deslocamentos de AnĆŗncios, Embeds e Iframes

"Use espaƧos reservados com tamanhos prƩ-definidos."

HTML

<div id="ad-placeholder" style="width: 300px; height: 250px;"></div>
Enter fullscreen mode Exit fullscreen mode
  1. Fontes Sem Surpresas: Melhorando o Desempenho do Carregamento

"Use font-display (swap, optional, fallback) e prƩ-carregue as fontes mais importantes (<link rel="preload">)."

CSS

@font-face { font-family: 'Fonte'; src: url('fonte.woff2'); font-display: swap; }
<link rel="preload" href="fonte.woff2" as="font" type="font/woff2" crossorigin>
Enter fullscreen mode Exit fullscreen mode
  1. Sem Imprevistos no Topo: Evitando Conteúdo Dinâmico que Empurra o Resto

"Reserve um espaço ou coloque o conteúdo novo abaixo da Ôrea visível."

HTML

<header style="height: 60px;"></header>
<div style="padding-top: 60px;"></div>
Enter fullscreen mode Exit fullscreen mode
  1. Animações Leves, Layout Imóvel:

"Use transform e opacity nas animações, não propriedades que afetam o layout."

CSS

.elemento { transform: translateX(0); transition: transform 0.3s; }
Enter fullscreen mode Exit fullscreen mode

V. CLS e UX: Estabilidade Visual Ć© Fundamental

"Uma experiência online confiÔvel e acessível para todos."

VI. Conclusão: Acabe Com os "Trancos" na Sua PÔgina!

"Priorize que a pÔgina não fique se movendo sozinha. Deixe suas ideias nos comentÔrios!"

Links e Materiais de Apoio:

  • Artigo web.dev sobre CLS
  • Guia do Google para melhorar o CLS
  • Documentação MDN sobre aspect-ratio
  • Documentação MDN sobre font-display
  • InformaƧƵes sobre <link rel="preload">
  • InformaƧƵes sobre a propriedade CSS transform
  • InformaƧƵes sobre a propriedade CSS opacity

Sugestão de Imagem Para a Capa: Uma imagem mostrando organização (ex: peças alinhadas) ou a eliminação de "pulos".

Tags: webdev, frontend, performance, optimization, cls, corewebvitals, ux, css, html

Top comments (0)