Nuxt Img 模块和 Bootstrap 网格列的尺寸是多少?

What sizes to put for Nuxt Img module and Bootstrap grid columns?

如果您使用Bootstrap的网格系统来布置您的页面,并且有six breakpoints:

我是否尝试配置 nuxt-img 大小以匹配每个断点的列大小?就我而言,我只是使用 md 列来保持简单,如下所示:

<div class="container">
    <div class="row>
        <div class="col-md-8>
            <nuxt-img
            provider="cloudinary"
            :src="post.publicId"
            width="2450"
            height="3600"
            class="img-fluid card-img-top"    // <----- 'img-fluid' tells image to take width of its container
            sizes="XXXX" //<--- I am not sure what sizes to put here???
              />
        </div>
        <div class="col-md-4">
            ....etc....
        </div>
    </div>
</div>

有人可以指导我如何为 Bootstrap 网格列定制 Nuxt-img 组件吗?谢谢!

更新:这是一个沙盒测试:https://codesandbox.io/s/billowing-butterfly-gi8j6?file=/layouts/default.vue

我有如下设置:

              <nuxt-img
                provider="cloudinary"
                src="117_acy7d3"
                width="431"
                height="600"
                class="figure-img img-fluid card-img-top shadow"
                sizes="sm:576px md:768px lg:992px xl:1200px xxl:1400px"
              />

查看网络选项卡...您会发现,即使您启动的浏览器视口宽度小于 400 像素,浏览器似乎仍会下载 1200x1671 的大图片:

更新

不确定是否有更多优化,但我实现了让它与此一起工作

<nuxt-img
  provider="static"
  src="/images/stairs.jpg"
  width="431"
  height="600"
  class="figure-img img-fluid card-img-top shadow"
  sizes="sm:100vw md:50vw lg:400px"
/>

它正在正确加载图像(关于它们的 size/weight),具体取决于屏幕并在 yarn generate 期间生成它们。我的 github 仓库可以在这里找到:https://github.com/kissu/so-debug-nuxt-image


这有点取决于您的页面的外观。最快的方法是在较小的分辨率下尝试一些 100vw 的变体和一些绝对值,例如 600px,就像您通常在做一些响应时所做的那样。

切换你的开发工具,看看它是如何用模拟值呈现的,就像这样。


此文档也可能是一个很好的起点:https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images#resolution_switching_different_sizes

请注意,该模块会为您执行此操作,只是为了理解概念。