Oi, Kelly, tudo bem?
Parabéns pela iniciativa de criar um projeto tão legal e por já pensar em recursos como lazy loading e um grid responsivo! Essas são ótimas escolhas para lidar com muitas imagens de forma mais leve e organizada, essa questão é um universo a parte dentro do front, mas para te ajudar vou deixar algumas dicas.
Para deixar o projeto ainda mais rápido e agradável de usar, vale cuidar principalmente da otimização das imagens. Imagens pesadas costumam ser o que mais deixa um site lento. Aqui vão algumas dicas simples:
- Comprima os arquivos antes de subir, usando ferramentas como TinyPNG ou Squoosh — elas reduzem bastante o tamanho sem perder qualidade.
- Use formatos modernos, como WebP, que são bem mais leves que JPEG e PNG.
- Crie versões de diferentes tamanhos para cada imagem usando o atributo
srcset
, assim o navegador escolhe automaticamente a mais leve para cada tela.
<img src="foto-pequena.jpg"
srcset="foto-pequena.jpg 480w,
foto-media.jpg 800w,
foto-grande.jpg 1200w"
alt="Descrição da foto">
Também pode ser interessante exibir miniaturas leves e carregar a versão maior só quando a pessoa clicar, além de adicionar um texto alternativo (alt
) em cada imagem para garantir acessibilidade.
Se quiser se aprofundar, este artigo da Alura explica bem essas técnicas:
Otimização de imagens para web
Você está no caminho certo. Continue assim e bons estudos! ✨