指定多个槽宽度

凯蒂·亨佩纽斯
Katie Hempenius

试用此演示版

  • 如需预览网站,请按查看应用,然后按全屏 全屏

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

查看代码

  • 请查看 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%”,在宽度不超过 480 像素的屏幕上为“视口宽度的 50%”,在宽度不超过 1024 像素的屏幕上为 800 像素。这些宽度与 CSS 中指定的宽度一致。

指定多个广告位宽度的功能适合使用针对不同视口尺寸使用不同样式(即图片宽度)的页面布局。

如何指定多个槽宽度

  • 请使用以英文逗号分隔的列表来指定多个广告位宽度。除最后一项之外的所有列表项均由媒体条件(例如 max-widthmin-width)和槽位宽度组成。
  • 此列表中的最后一项是默认广告位宽度。这是默认设置,因此您无需指定媒体条件。
  • 您可以根据需要列出任意数量的槽宽度,srcset 中列出的图片数量并不重要。
  • 您可以使用多种单位来指定广告位宽度。以下是所有有效的宽度:

  • 100px

  • 33vw

  • 20em

  • calc(50vw-10px)

以下宽度无效:

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