HTML5 入门教程
figure 与 search
本教程共 110 篇 · 第 73 篇 · 更新于 2026-07-28 · 约 4 分钟阅读
HTML5HTML5 入门教程语义化figurefigcaptionsearch搜索区域
73. figure 与 search
本节目标:掌握 figure/figcaption 的使用场景,了解 search 标签的作用。
这两个标签一个你很熟悉(figure),一个比较新(search)。
figure + figcaption:媒体内容分组
<figure> 包裹自包含的媒体内容。<figcaption> 是它的标题或说明。
<figure>
<img src="chart.png" alt="2026年月度访问量统计">
<figcaption>图 1:2026 年各月网站访问量统计</figcaption>
</figure>
关键点:figcaption 是 figure 的第一个或最后一个子元素。
可以包含什么
<!-- 图片 -->
<figure>
<img src="photo.jpg" alt="风景">
<figcaption>山间日出</figcaption>
</figure>
<!-- 代码块 -->
<figure>
<pre><code>const a = 1;</code></pre>
<figcaption>代码示例 1:变量声明</figcaption>
</figure>
<!-- 引用 -->
<figure>
<blockquote>
"Stay hungry, stay foolish."
</blockquote>
<figcaption>—— 史蒂夫·乔布斯</figcaption>
</figure>
<!-- 视频 -->
<figure>
<video src="demo.mp4" controls></video>
<figcaption>产品演示视频</figcaption>
</figure>
figure 不局限于图片。任何自包含的内容都可以放进去。
figure 与主内容的关系
figure 的内容应该和主内容相关。但删除 figure,主内容仍然完整。
<article>
<p>根据最新的调查数据显示,移动端流量已超过桌面端。</p>
<figure>
<img src="traffic-chart.png" alt="流量对比图">
<figcaption>图 2:移动端与桌面端流量对比</figcaption>
</figure>
<p>这表明移动优化变得越来越重要。</p>
</article>
删除 figure,文章仍然通顺。
figure 可以放在 aside、article、section 等容器里。搜索图片的 alt 属性仍然要写,不要因为有了 figcaption 就省略 alt。
search:搜索区域
<search> 是 HTML Living Standard 引入的新标签。它标识页面中的搜索区域。
<search>
<form action="/search" method="get">
<input type="search" name="q" placeholder="搜索...">
<button type="submit">搜索</button>
</form>
</search>
search 和 form 的区别
普通的 <form> 只是一个表单。<search> 则明确告诉浏览器和搜索引擎:“这是搜索框”。
屏幕阅读器读到 search 标签时,会提示用户”这是搜索区域”。搜索引擎也可能特别对待这个区域。
常见用法
<!-- 页面顶部搜索 -->
<header>
<h1>我的网站</h1>
<search>
<form action="/search">
<input type="search" name="q" placeholder="搜索文章...">
<button type="submit">搜索</button>
</form>
</search>
</header>
<!-- 搜索结果页 -->
<search>
<form action="/search">
<input type="search" name="q" value="HTML5">
<select name="type">
<option value="all">全部</option>
<option value="article">文章</option>
<option value="video">视频</option>
</select>
<button type="submit">搜索</button>
</form>
</search>
search 本质上是带语义的 div。它不会改变 form 的提交行为,只是让结构含义更明确。
完整示例
<body>
<header>
<h1>技术文档</h1>
<search>
<form action="/search" method="get">
<input type="search" name="q" placeholder="搜索文档...">
<button type="submit">搜索</button>
</form>
</search>
</header>
<main>
<article>
<h2>Flexbox 布局指南</h2>
<p>Flexbox 是一种强大的 CSS 布局方式。</p>
<figure>
<img src="flexbox-term.png" alt="Flexbox 术语图解">
<figcaption>图 1:Flexbox 的主轴和交叉轴</figcaption>
</figure>
<p>理解主轴方向是使用 Flexbox 的关键。</p>
<figure>
<pre><code>
.container {
display: flex;
justify-content: center;
}
</code></pre>
<figcaption>代码 1:水平居中的 Flex 写法</figcaption>
</figure>
</article>
</main>
</body>
search 标记搜索区,figure 分组图片和代码。语义明确。