不能。figure代表一个独立可引用的内容单元,语义上对应“一张图+其标题”,非多图容器;多图须分属独立figure,共用说明应置于外层容器,figcaption必须为figure首个或最后一个直接子元素。

figure元素能否直接包裹多张图片
不能。标准 HTML 规范中 <figure> 代表一个独立的、可被单独引用的内容单元,语义上对应“一张图 + 其标题”,不是多图容器。强行把多张 <img> 并列塞进 <figure> 会导致语义错误,屏幕阅读器可能误读为同一张复合图像,且无法为每张图提供独立说明。
多图+统一说明的正确结构
用一个 <figure> 包裹整个图组,内部用 <div> 或 <span> 分隔单图,再统一配一个 <figcaption>:
<figure> <img src="a.jpg" alt="左图:设备安装步骤1"> <img src="b.jpg" alt="右图:设备安装步骤2"> <figcaption>图1:设备安装的两个关键步骤</figcaption> </figure>
注意:<figcaption> 必须是 <figure> 的**第一个或最后一个子元素**,否则无效;所有 <img> 的 alt 属性仍需各自准确描述本图内容,不能省略或写成“图1”“图2”这种无意义占位符。
需要为每张图单独加说明时怎么办
此时不应共用一个 <figure>,而应为每张图创建独立的 <figure> 块,再用外层容器(如 <div class="figure-group">)视觉聚组:
立即学习“前端免费学习笔记(深入)”;
-
<figure>内部只含一张<img>和对应的<figcaption> - 避免用
<figure>套<figure>—— 嵌套违反语义,部分浏览器解析异常 - 若需响应式网格布局,对外层
<div>使用 CSS Grid 或 Flex,而非依赖<figure>自身排列
常见错误:用 figure 模拟画廊或轮播容器
看到“多图+说明”就本能套 <figure>,结果写出这种结构:
<figure> <img src="1.jpg"> <img src="2.jpg"> <img src="3.jpg"> <figcaption>产品展示</figcaption> </figure>
问题不止在语义混乱:
- SEO 无法识别各图主题,搜索引擎可能只索引最后一张图的
alt - 无障碍访问时,视障用户听到“产品展示”后,无法区分哪张图对应哪个功能点
- 后续想给某张图加点击放大、下载链接等交互时,DOM 结构缺乏锚点,只能靠序号硬绑定,脆弱易错
真正需要合并说明的场景极少——多数所谓“多图说明”,其实是图组主题说明 + 单图细节说明,两者缺一不可。



















