Aprenda como usar imagens em seu site sem perder desempenho.
Deco oferece componentes de Imagem, Picture e Source para trabalhar com imagens. Esses componentes adicionam padrões sensíveis para acelerar seu site. Para adicionar uma imagem ao seu site:
- Adicione os componentes de imagem da deco (
<Image/>
,<Source>
,<Picture>
) ao seu código- Estilize os componentes com CSS até obter a aparência desejada
- Defina os atributos de largura e altura do componente.
Os componentes da deco já oferecem:
- Imagens responsivas para todos os tamanhos de tela
- Tags de pré-carregamento para melhorar o LCP
- Processamento das imagens para otimizar o tamanho da imagem
<Image>
e <Picture>
. O
componente adequado depende do seu caso de uso:
<Image>
exibe uma imagem (internamente usando <img>
) e é útil para imagens
que tem sempre a mesma proporção (largura vs altura) independente do tamanho
de tela.<Picture>
define imagens que podem variar de tamanho de acordo com a
resolução de tela.Observe que você deve usar a tagO exemplo acima renderiza a imagem<img>
dentro de Picture, não o componente<Image>
. Observe que o atributosrc
na tag<img>
É OBRIGATÓRIO e deve receber a imagem maior, neste caso, a do desktop.
/image-mobile.png
em tamanhos de tela de
até 768px de largura. Em tamanhos de tela maiores, será renderizada a imagem
/image-desktop.png
.
Para estilizar essa imagem, adicione classes à tag <img>
. Por exemplo, para
fazendo a imagem preencher todo o espaço disponível, como no exemplo acima.
width
e height
da imagem podem ser confusos, mesmo para os
desenvolvedores experientes. Essa confusão ocorre pelo fato de que esses
atributos NÃO alteram o tamanho final da imagem renderizada na tela. Em vez
disso, eles alteram a imagem que o navegador irá baixar em um cenário de imagem
responsiva. Escolher valores adequados de largura e altura é a chave para baixar
uma imagem pequena para obter bons resultados de LCP.
Para descobrir um bom valor para largura e altura:
width
é 270px e a height
é 377px.<Image>
e <Picture>
do Deco nos ajudam a obter
esse comportamento. Comece localizando o maior elemento na tela (LCP). Em
seguida, abra o código do componente e verifique se:
preload
está definido.loading
está definido como ‘eager’.fetchPriority
esta definido como ‘high’<Image/>
:
<Picture/>
:
loading="lazy"
e fetchPriority="low"
. Ao adicionar essas configurações, você
estará otimizando o carregamento de imagens para melhorar o LCP.
dica: a pagina final deveria ter somente uma única imagem
pré-carregada. O pré-carregamento de multiplas imagens piora a nota LCP.
Para verificar que somente uma imagem esteja sendo pré-carregada, verifique
que ha somente uma tag <link rel="preload"/>
.