1

早在 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 做同样的事情:一些上标很好,而另一些则被忽略。

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

  • 有些片段按预期显示,有些则没有
  • 所有主要浏览器似乎在完全相同的地方都有问题
  • 如果我删除 <a> 标签,一切都会恢复正常
  • 是什么赋予了?把 <a> 放在 <sup> 里面是非法的还是什么?

    4

    1 回答 1

    5

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

    <a name="Interfaces" />
    

    使用 Firebug 进行检查表明 Chrome 不喜欢这样。它忽略自关闭并将之后的所有内容解释为在该a标签内。

    将其更改为:

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

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

    于 2012-09-02T05:59:45.480 回答