我可以在<a> tags?

时间:2015-07-13 15:14:14

标签: html5

According to the HTML5 docs, the link tag <a> accepts all contents, but, is this really correct?

For figure elements, which one is valid? If more than one is valid, is any one of them better than the other in any objective way?

  1. <figure class="box">
      <a href="#">
       <img src="" alt="" />
       <figcaption>Hello!</figcaption>
      </a>
    </figure>
    
  2. <a href="#" class="box">
      <figure>
       <img src="" alt="" />
       <figcaption>Hello!</figcaption>
      </figure>
    </a>
    
  3. <figure class="box">
      <a href="#">
       <img src="" alt="" />
      </a>
      <figcaption>Hello!</figcaption>
    </figure>
    

2 个答案:

答案 0 :(得分:2)

片段#1无效(因为它没有通过Validator.nu等一致性检查器验证),因为a figcaption may not appear as a child of any element but a figure

片段#2和#3符合HTML5,但它们意味着不同的东西。首先,here是规范中关于a元素的说法:

  

如果a元素具有href属性,则它表示由其内容标记的超链接(超文本锚)。

考虑到这一点:

在#2中,数字是超链接内容。

在#3中,只有图像是超链接内容。标题不是超链接的一部分。然而,图像和标题都是图中的一部分。

因为它们意味着不同的东西,所以&#34;更好&#34;一般意义上的另一个。你想要整个人物是超链接吗?然后使用#2。你想只是图像是超链接吗?然后使用#3。

答案 1 :(得分:0)

从客观的角度来看,很难确定,从技术角度来看,w3c有以下建议

&#34; 数字元素表示一些流内容,可选地带有标题,即自包含(如完整的句子),并且通常从文档的主流中引用为单个单元。 因此,该元素可用于注释插图,图表,照片,代码清单等。 当通过其标题(例如,通过图号)识别图形来从文档的主要内容引用图形时,它使得这样的内容能够容易地从主要内容移动到例如页面侧面的内容。页面或附录,不影响文档的流程。&#34;

在这些术语中,#1可以被视为一种轻松将部分与一般上下文分开的方法