HTML:<sup> <a>...</a> </sup>合法吗?

时间:2012-09-02 05:53:57

标签: html internet-explorer google-chrome firefox

早在2009年,我写了一个页面(http://www.ikriv.com/dev/dotnet/JavaClone/index.html),其中包含很多这样的片段:

<sup><a href="#ref14">[14]</a></sup>

我认为它在Firefox和IE中看起来都不错。令我惊讶的是,我今天发现Firefox 14.0.1按预期显示了其中一些,而其他一些显示为没有sup标记。

更有趣的部分是IE8在与Firefox完全相同的地方遇到了麻烦,只是忽略了上标,而是插入额外的换行符。

Chrome与Firefox的功能相同:某些上标可以正常使用,而其他上标则被忽略。

我找不到任何规律性,但有三件事是肯定的:

  • 某些片段按预期显示,有些片段不是
  • 所有主流浏览器似乎都在完全相同的地方出现问题
  • 如果我删除&lt; a&gt;标签,一切都恢复正常
  • 是什么给出的?放&lt; a&gt;在&lt; sup&gt;内非法还是什么?

    1 个答案:

    答案 0 :(得分:5)

    问题不在于sup中嵌入a,而是a标签没有内部文字:

    <a name="Interfaces" />
    

    使用Firebug进行检查表明Chrome不喜欢这样。它忽略了自我关闭并在a标记内部解释了所有内容。

    改为喜欢:

    <a name="Interfaces"></a>
    

    并且上标链接的问题会自行纠正。