figure和figcaption是一对经常被一起使用的语义化标签。如果你还没有看过规范中的定义,现在有机会在你的项目中使用它们了。如果你不知道怎么用,下面是关于如何正确使用它们的一些提示。
figure元素经常用于image:
<figure>
<img src="dog.jpg" alt="Maltese Terrier">
</figure>
figure元素表示内容的自包含单元。这个含义是,如果你把元素无论是移出文档或移动到文档的底部,它都不会影响文档的意思。
尽管如此,还是需要记住一点,并不是所有的image都是一个figure.
figure元素包含多个image
如果文档中多个img标签是相互关联的,可以把它们放到一个figure中。
<figure>
<img src="dog1.jpg" alt="Maltese Terrier">
<img src="dog2.jpg" alt="Black Labrador">
<img src="dog3.jpg" alt="Golden Retriever">
</figure>
其它元素也可以应用figure标签
figure元素并不局限于在image上使用,你也可以做类似这些事:
- 代码块
- 视频
- 音频剪辑
- 广告
下面是一个使用figure来表示代码块的例子
<figure>
<pre>
<code>
p {
color: #333;
font-family: Helvetica, sans-serif;
font-size: 1rem;
}
</code>
</pre>
</figure>
可以嵌套使用figure
在有需要的时候,可以对figure进行嵌套使用,这里为了增加语义化,添加了ARIA role属性。
<figure role="group">
<figcaption>Dog breeds</figcaption>
<figure>
<img src="dog1.jpg" alt="Maltese Terrier">
<figcaption>Adorable Maltese Terrier</figcaption>
</figure>
<figure>
<img src="dog2.jpg" alt="Black Labrador">
<figcaption>Cute black labrador</figcaption>
</figure>
</figure>
有关如何在figure和figcaption元素上使用ARIA的详细,可以看之前的文章《如何在HTML5中有效使用ARIA》
使用figcaption的正确方式
figcaption元素表示figure的一个图例或标题。
并不是所有的figure都需要figcaption
然而,当使用figcaption时,它最好在figure块中,作为第一个或最后一个元素。
<figure>
<figcaption>Three different breeds of dog.</figcaption>
<img src="dog1.jpg" alt="Maltese Terrier">
<img src="dog2.jpg" alt="Black Labrador">
<img src="dog3.jpg" alt="Golden Retriever">
</figure>
或
<figure>
<img src="dog1.jpg" alt="Maltese Terrier">
<img src="dog2.jpg" alt="Black Labrador">
<img src="dog3.jpg" alt="Golden Retriever">
<figcaption>Three different breeds of dog.</figcaption>
</figure>
在figcaption中包含其它标签元素
如果希望给图像添加更多语义,你可以使用其它元素,如h1,p
<figure>
<img src="dogs.jpg" alt="Group photo of dogs">
<figcaption>
<h2>Puppy School</h2>
<p>Championship Class of 2016</p>
</figcaption>
</figure>
你在使用figure和figcaption元素时,还有其它哪些方面,在这里没有提到的,可以在评论中写出来。
原文:Quick Tip: The Right Way to Use Figure & Figcaption Elements
作者:Georgie Luhur
原文链接:https://www.sitepoint.com/quick-tip-the-right-way-to-use-figure-and-figcaption-elements/