首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用不同图像大小的Nextjs图像组件

使用不同图像大小的Nextjs图像组件
EN

Stack Overflow用户
提问于 2021-04-30 01:56:56
回答 2查看 1.5K关注 0票数 4

我正在尝试使用Next.js图像组件来处理所有具有唯一大小的图像。他们的榜样声明图像将延伸到父div宽度和高度。我试过包装它们,但不知道如何适应动态图像大小。我想有一个固定的宽度和高度来调整每一个比例。蒂娅。

这是我的代码(图像来自数组) --因为我没有高度设置,页面上没有任何渲染。如果我使用的是Tailwind的h-auto,它仍然不显示:

代码语言:javascript
复制
<div className="w-screen h-screen">
  {allImages.allImages.map((image, i) => {
    return (
      <div className="relative w-100 md:w-5/6 lg:w-7/12" key={image}>
        <Image priority src={`/${image}`} layout="fill" objectFit="cover" />
      </div>
  )})}
</div>
EN

回答 2

Stack Overflow用户

发布于 2022-04-15 15:02:25

你可以在图像标签上使用这些道具,

代码语言:javascript
复制
<div className="div-class">
   <Image src={imageLink} layout="fill" objectFit="cover" />
</div>

并将Image标记包装在div中,如上面所示。现在,您可以使用媒体查询为div提供宽度和高度,图像将使用该空间。

票数 0
EN

Stack Overflow用户

发布于 2022-05-06 21:52:55

我在这个文章中找到了一个解决方案,这个解决方案似乎很有效。

代码语言:javascript
复制
<div className={'image-container'}>
  <Image src={path} layout="fill" className={'image'} />
</div>

SCSS

代码语言:javascript
复制
.image-container {
  width: 100%;

  > div {
    position: unset !important;
  }

  .image {
    object-fit: contain;
    width: 100% !important;
    position: relative !important;
    height: unset !important;
  }
}

我将它包装在一个名为<ResponsiveImage />的组件中。您可以在包装器上尝试其他规则,如position: relative

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67327240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档