Skip to content
Aprender Medir Blog Case studies Sobre
Nesta página
  • O que é lazysizes?
  • Adicionar lazysizes
    • Adicione o script lazysizes
    • Atualize as <img> e/ou <picture>
  • Verificar

Use lazysizes para imagens de carregamento lento

Nov 5, 2018 — Atualizado Apr 10, 2019
Available in: Español, 한국어, 中文, English
Appears in: Tempos de carregamento rápidos
Katie Hempenius
Katie Hempenius
TwitterGitHubGlitchHomepage
Nesta página
  • O que é lazysizes?
  • Adicionar lazysizes
    • Adicione o script lazysizes
    • Atualize as <img> e/ou <picture>
  • Verificar
Carregamento lento no nível do navegador já está disponível! Consulte o artigo da webloading lento integrado para aprender como usar o atributo de carregamento e aproveitar os lazysizes como fallback para navegadores que ainda não o suportam.

O carregamento lento é a estratégia de carregar recursos conforme eles são necessários, em vez de antecipadamente. Essa abordagem libera recursos durante o carregamento inicial da página e evita o carregamento de ativos que nunca são usados.

Imagens que estão fora da tela durante o carregamento de página inicial são candidatas ideais para essa técnica. E o melhor de tudo: lazysizes torna essa estratégia muito simples de implementar.

O que é lazysizes? #

lazysizes é a biblioteca mais popular para imagens de carregamento lento. É um script que carrega imagens de forma inteligente conforme o usuário se move pela página e prioriza as imagens que o usuário encontrará em breve.

Adicionar lazysizes #

É simples adicionar lazysizes:

  • Adicione o script lazysizes às suas páginas.
  • Escolha as imagens que você deseja carregar lentamente.
  • Atualize as <img> e / ou <picture> para essas imagens.

Adicione o script lazysizes #

Adicione o script lazysizes às suas páginas:

<script src="lazysizes.min.js" async></script>

Atualize as <img> e/ou <picture> #

Instruções da tag <img>

Antes de:

<img src="flower.jpg" alt="">

Depois de:

<img data-src="flower.jpg" class="lazyload" alt="">

Ao atualizar a <img>, você faz duas alterações:

  • Adicione a classe lazyload: Isso indica aos preguiçosos que a imagem deve ser carregada lentamente.
  • Altere o atributo src data-src: quando chegar a hora de carregar a imagem, o código lazysizes define o src da imagem usando o valor do atributo data-src

Instruções da tag <picture>

Antes de:

<picture>
<source type="image/webp" srcset="flower.webp">
<source type="image/jpeg" srcset="flower.jpg">
<img src="flower.jpg" alt="">
</picture>

Depois de:

<picture>
<source type="image/webp" data-srcset="flower.webp">
<source type="image/jpeg" data-srcset="flower.jpg">
<img data-src="flower.jpg" class="lazyload" alt="">
</picture>

Ao atualizar a <picture>, você faz duas alterações:

  • Adicione a classe lazyload à tag <img>
  • Altere o atributo srcset da tag <source> para data-srcset.

Experimente

Use lazysizes para carregar apenas imagens que estão na janela de visualização atual.

Verificar #

Abra DevTools e role a página para baixo para ver essas mudanças em ação. Conforme você rola, você deve ver novas solicitações de rede ocorrerem e as classes de tag <img> de lazyload para lazyloaded.

Além disso, você pode usar o Lighthouse para verificar se não se esqueceu de carregar lentamente nenhuma imagem fora da tela. Execute a auditoria de desempenho do Lighthouse (Lighthouse > Opções > Desempenho) e procure os resultados da auditoria Deferir imagens fora da tela.

DesempenhoImagens
Last updated: Apr 10, 2019 — Improve article
Codelabs

See it in action

Learn more and put this guide into action.

  • Lazy load offscreen images with lazysizes
Return to all articles
Compartilhar
assinar

Contribute

  • Registrar um bug
  • Visualizar código-fonte

Conteúdo relacionado

  • developer.chrome.com
  • Atualizações do Chrome
  • Web Fundamentals
  • Estudos de caso
  • Podcasts
  • Shows

Conectar

  • Twitter
  • YouTube
  • Google Developers
  • Chrome
  • Firebase
  • Google Cloud Platform
  • Todos os produtos
  • Termos e privacidade
  • Diretrizes da comunidade

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies.