<figure>元素只能包含没有图像的<figcaption>吗?

Bau*_*umr 9 html5 semantic-web semantic-markup w3c-validation figure

<figure>元素的语义是否只包含一个<figcaption>?它确实验证了 ......

<figure>
  <img src="example.jpg">
  <figcaption>Image and caption</figcaption>
</figure>

<figure>
  <figcaption>Caption only</figcaption>
</figure>
Run Code Online (Sandbox Code Playgroud)

在这种情况下,它会对CSS样式产生影响:

figure figcaption { color: red; }
Run Code Online (Sandbox Code Playgroud)

Wes*_*rch 8

一个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 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>
Run Code Online (Sandbox Code Playgroud)


Alo*_*hci 5

正如迈克尔·马林诺夫斯基(Michael Malinovskij)回答的那样,人物元素应包含“流内容”以及插图。

HTML5规范对流内容有这样的说法

通常,其内容模型允许任何流内容或短语内容的元素应至少具有一个可感知的内容且未指定隐藏属性的子节点。

但是,此要求并不是硬性要求,因为在许多情况下,元素可以合法地为空,例如,当它用作占位符(稍后将由脚本填充)时,或者当该元素是a的一部分时,模板,并会在大多数页面上填写,但在某些页面上是不相关的。

因此,除了figcaption之外没有其他内容是有效的,但是除非您打算稍后填充内容,否则它可能无法传达有用或正确的含义,可以将其描述为非语义