STATUS IS UPWIKI DE OTIMIZAÇÃO DE SITES
18Acelerar
Desempenho e entrega / Acelerar

Imagens responsivas com srcset e sizes

Ajude o navegador a selecionar uma imagem que corresponda ao slot de layout real em vez de enviar um original superdimensionado para todo visitante.

Imagens responsivas com srcset e sizes — GUIA VISUAL
LER
8 minutos
FONTES
6
REVALIDAR
2027-03-27
revisado
Revisor de desempenho web e acessibilidade
A RESPOSTA CURTA

Comece pela decisão.

Use srcset e sizes quando a mesma imagem aparece com larguras renderizadas diferentes em um layout responsivo. srcset lista candidatos de imagem e suas larguras intrínsecas; sizes descreve a largura esperada do slot da imagem em cada condição de layout. O navegador usa essa estimativa de source-size junto com a densidade de exibição, zoom e outras condições para selecionar um candidato. Um cartão móvel pequeno pode, assim, evitar baixar o original de desktop, enquanto um dispositivo grande ou de alta densidade pode escolher um candidato mais nítido quando disponível.

Comece pelo layout CSS do componente, não por uma lista genérica de dispositivos. Meça o slot em cada breakpoint, gere candidatos verdadeiros e faça o sizes refletir esse slot. Use descritores x apenas para um slot CSS fixo. Use picture quando uma tela menor precisar de um recorte diferente, não apenas de um arquivo menor. Verifique a requisição real com um reload com cache vazio. Essa otimização pró‑ativa reduz transferência de imagem evitável antes do lançamento, mas não garante velocidade, disponibilidade ou confiabilidade do host de imagens.

GUIA VISUAL

Veja o trabalho como um sistema.

Use este mapa para conectar as decisões do artigo antes de agir sobre táticas individuais.

SIUAcelerar
01Escolha o padrão correto
02Saiba como o sizes orienta a seleção
03Gere candidatos a partir do layout real
04Use picture para direção de arte
01

Escolha o padrão correto

Troca por resolução (resolution switching) mantém a composição e oferece várias larguras de arquivo. É o padrão habitual para fotos de produto, figuras editoriais e cards. Use descritores de largura como 480w ou 1200w quando a largura renderizada variar com o layout. O número é a largura real em pixels do arquivo, não uma meta para telefones nem um comando CSS.

Troca por densidade (density switching) serve um slot CSS fixo com mais pixels de origem para telas de maior densidade. Seus descritores são 1x, 1.5x ou 2x, e ele é adequado para um logo ou ícone que, por exemplo, tem consistentemente 160 pixels CSS de largura. Não misture descritores de largura e de densidade no mesmo srcset.

Slot fluido

Use descritores w com sizes quando um componente cresce ou encolhe.

Slot fixo

Use descritores x sem sizes somente quando o tamanho CSS renderizado for estável.

02

Saiba como o sizes orienta a seleção

Com descritores de largura, o navegador avalia sizes antes de baixar uma imagem. Cada entrada combina uma condição de mídia opcional com um tamanho (length). A primeira condição que corresponder fornece o source size; o último tamanho incondicional é o fallback. sizes é uma dica de seleção, não uma regra CSS.

O navegador compara esse source size com as larguras dos candidatos para calcular a densidade efetiva, e então pode considerar densidade de exibição, zoom e condições de rede. Ele não é obrigado a escolher o nome de arquivo matematicamente mais próximo. Forneça candidatos honestos e uma estimativa de slot crível; a seleção final continua sendo decisão do agente do usuário.

A ordem importa

A primeira condição de mídia que corresponder vence, então escreva a lista na ordem que torne essa primeira correspondência correta.

Evite 100vw genérico

Um card de desktop que tem um terço da largura descrito como viewport‑wide pode acionar um candidato desnecessariamente grande.

03

Gere candidatos a partir do layout real

Faça inventário por componente, não por página. Um hero, figura editorial, galeria de produtos, miniatura de busca e logo do rodapé frequentemente têm larguras de slot diferentes. Para cada um, registre a largura estreita e a maior largura renderizada, a proporção (aspect ratio), o comportamento de crop e a visibilidade na tela inicial.

Gere larguras ao redor do intervalo significativo do slot do componente, com uma opção maior quando o detalhe justificar renderização de alta densidade. Arquivos quase idênticos adicionam complexidade de build e cache; apenas um arquivo muito pequeno e um muito grande forçam compromisso. Teste URLs gerados em vez de presumir que transformações de imagem funcionam.

Mantenha um src de fallback válido e atributos width e height que combinem com a proporção entregue. Eles reservam espaço mas não impedem o CSS responsivo de alterar as dimensões finais.

Descritores verídicos

Um candidato anunciado como 800w deve realmente ter 800 pixels de largura.

Contrato do componente

Mantenha o plano de slot e candidatos junto das mudanças de template e design.

04

Use picture para direção de arte

Direção de arte (art direction) muda a composição, não apenas o tamanho do arquivo. Uma foto paisagem ampla pode precisar de um recorte retrato mais fechado em telas estreitas para que o assunto continue visível. O elemento picture pode oferecer opções de source específicas por mídia, seguidas por um img de fallback. O navegador avalia media, type e srcset de cada source; o img carrega o texto alternativo, dimensões e comportamento de fallback.

Prepare cada recorte com revisão editorial e de acessibilidade. Um crop móvel pode remover um detalhe do produto ou uma pessoa mencionada no texto alternativo. Coloque alt no img e descreva a informação ou função que a imagem transmite. Use alt="" apenas para imagem genuinamente decorativa; para uma imagem linkada ou botão, descreva a ação em vez da aparência. Não introduza picture quando o crop não muda: srcset baseado em largura é mais simples.

Bom uso

Um hero de desktop com composição complexa precisa de um recorte retrato distinto para o celular.

Fontes por formato

Um source dentro de picture pode fornecer um hint de type e preservar um img de fallback amplamente utilizável.

05

Evite erros caros de carregamento e marcação

O desperdício mais comum é copiar sizes="100vw" para toda imagem. Isso pode servir para uma figura estreita de largura total, mas não para um contêiner com limite de largura ou um card de desktop. A falha oposta é manter sizes desatualizado após um redesign. Altere CSS e sizes em conjunto.

Não faça lazy-load (carregamento preguiçoso) de uma imagem importante no conteúdo inicialmente visível. A orientação recomenda lazy‑loading para imagens abaixo da dobra e manter o hero visível ansioso (eager). Fetch priority pode elevar uma imagem realmente vital, mas regras amplas de alta prioridade ou preload podem prejudicar o desempenho. Não confie em nomes de arquivo ou resultados em cache como prova.

Regressão de cache frio

Um CMS, proxy ou cache pode ocultar um descritor errado ou uma requisição de imagem indesejada.

Texto em imagens

Não torne texto essencial da página dependente apenas de um recorte dirigido por arte.

06

Teste a requisição, o recorte e a correção

Teste páginas representativas em larguras que mudem o layout, incluindo pouco acima e pouco abaixo de um breakpoint do grid. Inclua uma configuração de alta densidade, desktop largo e estados que alterem o slot. Confirme dimensões renderizadas, recorte, texto alternativo e nitidez visual.

No Chrome DevTools, abra Network, recarregue com cache desabilitado ou use Empty Cache And Hard Reload, filtre por requisições de imagem e inspecione URL, tamanho transferido, cabeçalhos, initiator e timings. Aplique throttling para revelar trabalho tardio ou desperdiçado. Registre viewport, device scale factor, slot, candidato, bytes transferidos e resultado esperado.

Quando um template, breakpoint, CDN ou pipeline de ativos muda, torne isso um gate de lançamento. Repare de forma cirúrgica: corrija sizes, conserte um descritor, regenere um crop, restaure um fallback ou remova um preload desnecessário. Reteste com reload de cache vazio.

Observe em vez de inferir

O painel Network registra o candidato realmente solicitado.

Limite prático

Isso verifica o comportamento de entrega de imagem, não a capacidade da origem, disponibilidade do CDN ou uptime geral.

07

Aplique como um controle de resiliência SIU

Imagens responsivas reduzem transferência evitável mas não garantem uma requisição bem‑sucedida. Erros de origem, transformações indisponíveis, hosts de terceiros e falhas de CDN exigem planejamento separado de continuidade e recuperação.

Para SIU, use registros de teste para detectar regressões de entrega cedo, identificar o template ou a regra de transformação responsável e fazer a menor correção segura antes do lançamento. Combine isso com preflight de disponibilidade e planejamento de rollback.

Responsabilidade

Atribua um responsável por componente e pela pipeline de imagens para cada verificação de seleção falhada.

AÇÃO / VERIFICAR

Seu guia prático de tarefas.

  1. 01

    Classifique cada componente

    Marque-o como fluido, slot fixo, art‑directed, decorativo, funcional ou conteúdo visível crítico.

    VERIFICAR: Registros de inventário contêm intervalo de slot, regra de crop e dono.
  2. 02

    Meça os slots

    Inspecione o grid em ambiente semelhante à produção nos estados estreito, médio e largo.

    VERIFICAR: Larguras da caixa CSS registradas incluem limites, gaps e sidebars.
  3. 03

    Escolha descritores

    Use w com sizes para slots fluidos ou x para slots fixos; não os misture.

    VERIFICAR: Cada srcset usa um único tipo de descritor.
  4. 04

    Escreva sizes a partir do CSS

    Use condições de primeira correspondência e um fallback incondicional que descreva o slot.

    VERIFICAR: O valor que corresponde é crível em cada viewport testada.
  5. 05

    Valide ativos

    Verifique que cada candidato existe e corresponde à largura intrínseca declarada.

    VERIFICAR: Requisições diretas retornam os arquivos pretendidos e um fallback válido.
  6. 06

    Reserve espaço

    Forneça valores width e height correspondentes e CSS responsivo que preserve a proporção.

    VERIFICAR: A chegada da imagem não causa movimentos evitáveis no conteúdo ao redor.
  7. 07

    Revise direção de arte

    Verifique cada recorte específico por mídia e o texto alternativo do img.

    VERIFICAR: Assuntos importantes permanecem visíveis e o alt continua preciso.
  8. 08

    Defina prioridade deliberadamente

    Lazy‑load imagens abaixo da dobra; evite regras amplas de alta prioridade e preload.

    VERIFICAR: O hero realmente visível é solicitado prontamente sem competição desnecessária.
  9. 09

    Capture evidência de cache frio

    Use filtro de imagens no DevTools, reloads com cache desabilitado e viewports representativos.

    VERIFICAR: Evidência de lançamento registra candidato selecionado, slot, tamanho transferido e recorte.
  10. 10

    Planeje remediação

    Atribua uma correção direcionada ou rollback para mudanças de template e pipeline de imagem.

    VERIFICAR: Cada falha tem um dono e um reteste de cache frio bem‑sucedido após a correção.
TÓPICOS DE DISCUSSÃO

Compare as compensações, não dados privados.

Use essas sugestões com sua equipe ou comunidade de proprietários de sites. Compartilhe métodos e aprendizados, mas nunca cole credenciais, registros de clientes ou detalhes de infraestrutura não públicos.

  1. 01

    Qual componente do seu site tem a maior diferença entre pixels baixados e o slot renderizado habitual, e como você poderia medi‑lo com segurança?

  2. 02

    Como seus designers, responsáveis pelo CMS e time de frontend decidem quando um recorte móvel é direção de arte em vez de apenas um redimensionamento?

  3. 03

    Qual evidência tornaria uma regressão de imagem responsiva fácil de aprovar ou reverter durante a revisão de lançamento sem compartilhar dados de clientes?

RECURSOS POPULARES / AUTORITATIVOS

Abra o material de origem.

WHATWGImages in the HTML Standard ↗

Regras primárias para descritores, seleção por source-size, fallbacks e comportamento dos navegadores.

Revisado 2026-09-27
MDN Web DocsUsing responsive images in HTML ↗

Guia prático sobre srcset, sizes, troca por densidade, direção de arte e testes.

Revisado 2026-09-27
web.devResponsive images ↗

Orientação do Google sobre dimensões, carregamento, descritores e restrições de layout.

Revisado 2026-09-27
MDN Web Docspicture HTML picture element ↗

Referência para seleção por media e type, direção de arte, sizes e fallbacks.

Revisado 2026-09-27
Chrome for DevelopersInspect network activity ↗

Instruções para requisições, transferências, throttling, filtragem e reload com cache vazio.

Revisado 2026-09-27
W3C Web Accessibility InitiativeImages Tutorial ↗

Orientações sobre imagens significativas, decorativas, funcionais e textuais.

Revisado 2026-09-27

Política de fontes. Afirmativas sobre sintaxe de imagens responsivas e seleção pelo navegador estão fundamentadas nos padrões oficiais e na documentação listada abaixo. Valide a marcação, larguras de candidatos e o layout renderizado nos templates reais do site antes do lançamento.

ESCLARECIMENTOS RÁPIDOS

Perguntas comuns.

Preciso usar sizes sempre que usar srcset?

Use sizes com descritores de largura porque o navegador precisa de uma estimativa de source-size para um slot fluido. Um srcset para slot fixo por densidade usa descritores x e não precisa de sizes. Nunca misture os dois tipos de descritor em um mesmo srcset.

O sizes altera a largura CSS de uma imagem?

Não. sizes é uma dica pré‑carregamento. O CSS e o layout do componente determinam a caixa renderizada, por isso sizes deve ser mantido sempre que esse layout mudar.

Toda imagem responsiva deve usar picture?

Não. Use srcset baseado em largura quando a composição não muda entre tamanhos. Use picture quando uma condição de mídia exigir um recorte diferente ou uma fonte específica por formato, mantendo um img de fallback utilizável.

Status Is UP Editorial Team · Uptime Enablement Editors

Revisado por Revisor de desempenho web e acessibilidade. Publicado 2026-09-27; atualizado 2026-09-30.