Esse é um tutorial que funciona no NextJS (v14.0.3)
Como sempre quem é do front-end tem a incrível missão de brigar diariamente com a responsividade das imagens e um dos grandes problemas é deixá-la com a proporção original (nem muito esticada e tão pouco muito amassada).
A vantagem do NextJS é ter uma otimização da imagem
sem "estragar" a beleza da mesma, por isso é muito comum utilizarmos o componente
<Image />
que possui algumas propriedades:
src
: especifica o caminho da imagem a ser
exibida. No exemplo, a variável profilePic é usada
para fornecer o caminho da imagem.
alt
: define o texto alternativo que será
exibido caso a imagem não possa ser carregada.
width
e height: são fornecidos automaticamente
e definem as dimensões da imagem. No exemplo, o valor
500
é usado para ambos.
blurDataURL
: fornece uma URL de dados
embaçados para ser exibida enquanto a imagem é carregada. Essa
propriedade é fornecida automaticamente..
placeholder
: define o estilo de desfoque que
será exibido enquanto a imagem é carregada. Neste exemplo, a opção
blur
é usada.
Agora vamos ao que interessa, para deixar a imagem sempre responsiva e
com o tamanho correto, basta adicionar a propriedade
sizes="100vw"
e também um estilo inline style com o
width: '100%'
e height: 'auto'
igual ao código a seguir:
Se de repente a imagem é grande demais ou então não tem os lados,
alturas iguais e você queira modificá-la para deixar responsiva, é só
mudar as especificações no style deixando o
width: 'auto'
e modificando a altura (height)