指定多个槽宽度

Katie Hempenius
Katie Hempenius

试用此演示

  • 要预览网站,请按查看应用。然后按全屏 fullscreen

  • 在不同大小的浏览器窗口中重新加载应用,以查看浏览器加载不同的图片并在不同的浏览器尺寸下使用不同的布局。

查看代码

  • 查看 index.html 以了解使之工作的代码
<img src="flower.jpg"
  srcset="flower-small.jpg 480w, flower-large.jpg 800w"
  sizes="(max-width: 480px) 100vw, (max-width: 1024px) 50vw, 800px">

这里发生了什么?

sizes 属性的值决定了图片显示宽度将为:在宽度高达 480 像素的视口上为“视口宽度的 100%”,在宽度为 481–1024 像素的屏幕上为“视口宽度的 50%”,在宽度大于 1024 像素的屏幕上为 800 像素。这些宽度与 CSS 中指定的宽度相匹配。

指定多个槽宽度的能力适应了对于不同视口尺寸使用不同样式(即图片宽度)的页面布局。

如何指定多个槽宽度

  • 使用逗号分隔的列表来指定多个槽宽度。除了最后一个项目外,每个列表项都包含一个媒体条件(例如 max-widthmin-width)和一个槽宽度。
  • 此列表中的最后一个项目是默认槽宽度。它是默认值,因此您无需指定媒体条件。
  • 您可以根据需要列出任意数量的槽宽度 - srcset 中列出的图片数量无关紧要。
  • 可以使用多种单位指定槽宽度。以下都是有效的宽度

  • 100px

  • 33vw

  • 20em

  • calc(50vw-10px)

以下是无效宽度

  • 25%(百分比不能与 sizes 属性一起使用)