<figure>
元素的语义是否只包含<figcaption>
?它确实validate ...
<figure>
<img src="example.jpg">
<figcaption>Image and caption</figcaption>
</figure>
<figure>
<figcaption>Caption only</figcaption>
</figure>
在这种情况下,它会对CSS样式产生影响:
figure figcaption { color: red; }
答案 0 :(得分:7)
img
元素中不需要figure
,它恰好是常见的,大多数使用figcaption
的示例也都有图像。
http://dev.w3.org/html5/spec/single-page.html#the-figure-element
因此
<figure>
元素可用于注释从主要内容引用的插图,图表,照片,代码清单等 该文件,但可以,而不影响的流程 文档,远离该主要内容,例如到了一边 页面,专用页面或附录。http://dev.w3.org/html5/spec/single-page.html#the-figcaption-element
<figcaption>
元素代表其余部分的标题或图例 figcaption元素的父图元素的内容, if 任何强>
请注意“ if any ”部分,这使我相信figcaption
以外的内容可能不存在且仍然有效。然而,正如Alochi指出的那样,它暗示了元素的滥用,因为标题没有内容可以描述。
当前规范示例中的一个例子是非图像内容伴随着一个figcaption,所以我认为假设没有图像是完全没问题是公平的:
在这里,诗的一部分用数字标记。
<figure> <p>'Twas brillig, and the slithy toves<br> Did gyre and gimble in the wabe;<br> All mimsy were the borogoves,<br> And the mome raths outgrabe.</p> <figcaption> <cite>Jabberwocky</cite> (first verse). Lewis Carroll, 1832-> 98 </figcaption> </figure>
答案 1 :(得分:4)
正如Michael Malinovskij所回答的那样,一个人物元素应该包含“流动内容”以及一个无花果。
The HTML5 spec has this to say about flow content
作为一般规则,内容模型允许任何流的元素 内容或短语内容应至少有一个子节点 是可触及的内容,没有隐藏的属性 指定。
然而,这个要求并不是一项艰难的要求,因为有很多要求 元素可以合法地为空的情况,例如当它 用作占位符,稍后将通过脚本填写,或者 当元素是模板的一部分并且在大多数页面上时 填写但在某些页面上不相关。
除了figcaption 之外没有任何其他内容是有效的,但是除非您打算稍后填写内容,否则它可能没有传达有用或正确的含义,其特征可能是不是语义。
答案 2 :(得分:2)