为什么不允许在图元素下嵌入锚元素?

时间:2016-07-16 05:17:08

标签: html anchor figure

当我为我的网页运行w3.org的HTML验证器时,它出现以下错误:

  

错误:元素a不允许作为元素图的子元素   上下文。 (抑制此子树中的更多错误。)

这是我在html文档正文中编写的代码:

 <p>
  <figure>
    <img src="http://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png" alt="google"/>
    <figcaption>Google</figcaption>
    <a href="#"> A link. Is it allowed?</a>
  </figure>
 </p>

基于我从&lt;的规格中理解的内容。图&gt;,包含内容包括&lt; figcaption&gt;然后是流动含量,流动含量,接着是&lt; figcaption&gt;或者只是纯流动的内容。锚元素被认为是流内容。那么为什么这不可能呢?

1 个答案:

答案 0 :(得分:1)

问题在于<figcaption>元素。根据{{​​1}} as shown here的规范,它声明:

  

HTML元素表示与元素的其余数据所描述的图形或图例相关联的标题或图例,该元素是直接祖先

这意味着<figcaption>元素必须是<figcaption>元素下的第一个或最后一个元素。

由于<figure>不是第一个元素(上面有图像)或最后一个元素(我将<figcaption>元素放在它下面),我违反了这条规则。虽然您的浏览器布局不会因为这个小问题而中断,但您的网站不会通过w3.org的HTML验证器,因为它不符合正确的标准。