【问题标题】:How to make images fill my carousel slides如何让图像填满我的轮播幻灯片
【发布时间】:2022-01-21 10:21:02
【问题描述】:

我正在尝试将我的图片放入幻灯片中。

以下是我的示例代码和截图:

<div className="relative h-24 w-20 sm:h-44 sm:w-100 md:h-44 md:w-60 flex-shrink-0">
  <Carousel showThumbs={false}>
    {imgSrc?.map((url, index) => (
      <div className="h-24 w-20 sm:h-44 sm:w-100 md:h-44 md:w-60 flex-shrink-0" >
        <img class="object-fill rounded-md" src={`${url}`} />
      </div>
    ))}
  </Carousel>
</div>

我所做的是:

  1. 将第一个块设置为固定大小。这是我希望每张图片都被限制到的尺寸。

  2. Carousel 内部:因为&lt;div&gt;&lt;img&gt; 标签是这个库中的协议。所以我只是在关注它。

  3. 确保所有内容都被限制在固定长度内。我为每个标签设置了相同的 CSS 规则。

结果是并非所有图像都显示相同的大小。有些有一些我不想看到的空白空间。

我可以知道如何解决它吗?这不是这个CSS的使用方式吗?


[用 Ed Lucas 的代码更新]

在 MD 设置中,缩略图中的所有图像都可以完美地放入框内。

但是,当屏幕缩小时,有些图像会突然缩小到小于缩略图,而有些图像仍然可以与框大小对齐。你有什么想法吗?

<div className="relative h-30 w-40 sm:h-44 sm:w-100 md:h-44 md:w-60 flex-shrink-0">
  <Carousel showThumbs={false}>
    {imgSrc?.map((url, index) => (
      <div className="h-30 w-40 sm:h-44 sm:w-100 md:h-44 md:w-60 flex-shrink-0" >
        <img class="object-cover h-full w-full rounded-md" src={`${url}`} />
      </div>
    ))}
  </Carousel>
</div>

这里是小屏幕尺寸的例子

正常:

异常图片

【问题讨论】:

  • 请您提供一个 sn-p,向我们展示您使用的任何预处理器生成的 HTML/CSS。
  • 生成的 html/css 是什么意思?你的意思是整个 html 和 css 文件?
  • 嗨,不,仅够说明问题的相关 HTML 和 CSS,而不是其他语言的文件内容。这可能会有所帮助:stackoverflow.com/help/minimal-reproducible-example
  • 嗨 Haworth,实际上上面的 html 和 css 是实际代码,直接链接到我发布的屏幕截图。我可以知道你混淆了哪一部分吗?
  • 您显示的代码不是 HTML 或 CSS。你用的是什么预处理器?

标签: html reactjs thumbnails tailwind-css web-frontend


【解决方案1】:

由于您在容器&lt;div&gt; 上设置宽度和高度,因此您可以使用具有100% 宽度和高度的object-fill。例如,如果您不介意图片被拉伸:

<img class="object-fill h-full w-full rounded-md" src={`${url}`} />

如果不想要拉伸的图片,可以试试object-cover

<img class="object-cover h-full w-full rounded-md" src={`${url}`} />

【讨论】:

  • 它适用于 Ed Lucas! ,我想再问一个问题。我不太明白为什么两者都可以将图像限制在相同大小的容器中,但纵横比并未保留在填充中,而是保留在封面中。
  • 使用封面时,图像的一部分会被裁剪成一个尺寸,而不是被拉伸以适应。
  • 我明白了,所以,在这个例子中,图像的宽度或高度首先以原始纵横比填充到容器中。然后,我们只是简单地裁剪出不适合容器的另一面?
  • 是的。通常,图像居中,以便在两侧进行裁剪。
  • 嗨卢卡斯,还有一个问题,我已经用你的代码更新了我的代码,结果如上。但是,为什么有些图像会缩小到比容器还小,如何避免呢? @埃德卢卡斯
【解决方案2】:

您可以考虑在 CSS 中使用 object-fit 属性。 在顺风中找到相同的属性here

【讨论】:

  • 仍然无法正常工作。问题仍然存在...并非所有图像都显示相同的大小。有些有一些空白空间。
  • 如果我看到我可以尝试的代码。
猜你喜欢
  • 1970-01-01
  • 2013-03-23
  • 2017-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-24
  • 2013-08-25
  • 2019-07-16
相关资源
最近更新 更多