我在我的项目中使用next.js版本12。我有包含不同大小图像的块。我想使用next/image,但我是新手,不知道如何使不同大小的图像响应。
如果我使用layout=“responsive”,我需要固定大小,但我有不同的大小:
<Image src={`/images/${image}`} key={item} width={500} height={300} layout={'responsive'} />
当我使用layout=“fill”时,我需要给父div给予大小,这又不是我想要的。有没有一种方法可以实现我想要的,而不需要编写一个函数来检查每个图像的大小并将其提供给图像组件?
2条答案
按热度按时间mlnl4t2r1#
这并不容易发现,但正确的食谱应该是这样的:
我使用宽度和高度与最大大小(帮助下一个知道纵横比)和大小属性来设置大小,以在不同的分辨率中使用,如下所示:https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images#resolution_switching_different_sizes
vybvopom2#
有一种方法可以做到这一点。首先,你用容器 Package 图像。
然后添加CSS: