0

0

picture 标签如何实现 art direction 在不同屏幕尺寸显示不同图片

舞姬之光

舞姬之光

发布时间:2026-01-18 18:48:08

|

953人浏览过

|

来源于php中文网

原创

picture标签通过source元素的media属性实现art direction,即按屏幕尺寸切换不同构图的图片;sizes配合srcset可精确控制响应式图片宽度与分辨率适配;img作为兜底且承载唯一alt文本,确保可访问性。

picture 标签如何实现 art direction 在不同屏幕尺寸显示不同图片

picture 标签通过 source 元素配合 mediasrcset + sizes 属性,实现 art direction —— 即根据不同屏幕尺寸、设备特性,**主动选择语义上更合适(不一定是分辨率更高)的图片版本**,比如手机端裁剪特写人脸、桌面端展示全景。

用 media 属性按断点切换不同构图的图片

这是 art direction 的核心用法:为不同视口宽度提供完全不同的图片资源(不同裁剪、不同焦点、甚至不同内容)。

  • source 元素放在 picture 内,每个带 media 属性(如 (max-width: 768px)),声明适用条件
  • 浏览器从上到下匹配第一个满足条件的 source,加载其 srcset 指定的图片
  • 必须在最后放一个 img 标签作为兜底(无匹配时使用,且供不支持 picture 的老浏览器降级)

  
  
  活动主视觉

结合 sizes 精确控制响应式图片宽度

当需要为同一张图提供多分辨率版本(如 1x / 2x),或图片在页面中占据的视口比例随断点变化时,sizes 告诉浏览器“这张图在不同条件下大概占多宽”,再由 srcset 提供对应尺寸的资源。

Lyrics Generator
Lyrics Generator

免费人工智能歌词生成器和人工智能歌曲作家

下载
  • sizes 是字符串,包含媒体条件和长度值,例如 sizes="(max-width: 600px) 100vw, (max-width: 1200px) 50vw, 33vw"
  • srcset 列出多个资源及其宽度描述符(如 "small.jpg 480w, medium.jpg 960w, large.jpg 1440w"
  • 浏览器根据 sizes 计算出目标显示宽度,再选最接近的 srcset 项加载

      media="(max-width: 600px)"
    srcset="hero-crop-sm-480w.jpg 480w,
            hero-crop-sm-960w.jpg 960w"
    sizes="100vw"
  >
      media="(max-width: 1200px)"
    srcset="hero-crop-md-960w.jpg 960w,
            hero-crop-md-1440w.jpg 1440w"
    sizes="50vw"
  >
  picture 标签如何实现 art direction 在不同屏幕尺寸显示不同图片    src="hero-full-1440w.jpg"
    srcset="hero-full-1440w.jpg 1440w,
            hero-full-2880w.jpg 2880w"
    sizes="33vw"
    alt="品牌故事"
  >

注意 fallback 和可访问性

art direction 不是单纯换分辨率,而是换内容表达。因此语义和可访问性不能妥协:

  • 每个 source 对应的图片,如果构图差异大(如人脸 vs 全景),alt 文本应统一描述核心信息,而非具体画面细节
  • imgalt 是唯一被读屏器读取的内容,必须准确传达意图(例如 “春季新品发布现场” 而非 “一张蓝背景人像”)
  • 避免仅靠 CSS 隐藏/显示图片做 art direction —— 这无法阻止多余图片下载,也不具备语义

验证是否生效

打开浏览器开发者工具 → Network 面板,调整窗口宽度并刷新,观察实际加载的是哪个 source 的图片;也可在 Elements 面板中查看 picture 下高亮的生效 source 元素。

相关专题

更多
css
css

css是层叠样式表,用来表现HTML或XML等文件样式的计算机语言,不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。php中文网还为大家带来html的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

524

2023.06.15

css居中
css居中

css居中:1、通过“margin: 0 auto; text-align: center”实现水平居中;2、通过“display:flex”实现水平居中;3、通过“display:table-cell”和“margin-left”实现居中。本专题为大家提供css居中的相关的文章、下载、课程内容,供大家免费下载体验。

263

2023.07.27

css如何插入图片
css如何插入图片

cssCSS是层叠样式表(Cascading Style Sheets)的缩写。它是一种用于描述网页或应用程序外观和样式的标记语言。CSS可以控制网页的字体、颜色、布局、大小、背景、边框等方面,使得网页的外观更加美观和易于阅读。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

754

2023.07.28

css超出显示...
css超出显示...

在CSS中,当文本内容超出容器的宽度或高度时,可以使用省略号来表示被隐藏的文本内容。本专题为大家提供css超出显示...的相关文章,相关教程,供大家免费体验。

539

2023.08.01

css字体颜色
css字体颜色

CSS中,字体颜色可以通过属性color来设置,用于控制文本的前景色,字体颜色在网页设计中起到很重要的作用,具有以下表现作用:1、提升可读性;2、强调重点信息;3、营造氛围和美感;4、用于呈现品牌标识或与品牌形象相符的风格。

760

2023.08.10

什么是css
什么是css

CSS是层叠样式表(Cascading Style Sheets)的缩写,是一种用于描述网页(或其他基于 XML 的文档)样式与布局的标记语言,CSS的作用和意义如下:1、分离样式和内容;2、页面加载速度优化;3、实现响应式设计;4、确保整个网站的风格和样式保持统一。

605

2023.08.10

css三角形怎么写
css三角形怎么写

CSS可以通过多种方式实现三角形形状,本专题为大家提供css三角形怎么写的相关教程,大家可以免费体验。

560

2023.08.21

css设置文字颜色
css设置文字颜色

CSS(层叠样式表)可以用于设置文字颜色,这样做有以下好处和优势:1、增加网页的可视化效果;2、突出显示某些重要的信息或关键字;3、增强品牌识别度;4、提高网页的可访问性;5、引起不同的情感共鸣。

395

2023.08.22

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

68

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Sass 教程
Sass 教程

共14课时 | 0.8万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 2.9万人学习

CSS教程
CSS教程

共754课时 | 20.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号