【问题标题】:HTML: is <sup><a>...</a></sup> legal?HTML: <sup><a>...</a></sup> 合法吗?
【发布时间】:2012-08-27 08:35:07
【问题描述】:

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

&lt;sup&gt;&lt;a href="#ref14"&gt;[14]&lt;/a&gt;&lt;/sup&gt;

我认为当时在 Firefox 和 IE 中看起来都不错。令我惊讶的是,我今天发现 Firefox 14.0.1 显示了其中一些如预期的那样,而另一些则显示为好像没有 sup 标签。

更有趣的是,IE8 在与 Firefox 完全相同的地方也有问题,只是它不会忽略上标,而是插入了一个额外的换行符。

Chrome 与 Firefox 做同样的事情:一些上标很好,而另一些则被忽略。

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

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

    【问题讨论】:

    标签: html internet-explorer google-chrome firefox


    【解决方案1】:

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

    <a name="Interfaces" />
    

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

    改成这样:

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

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

    【讨论】:

    • 确实如此。我的错误印象是放置 XHTML doctype 会使我的文档变成 XHTML。然而,它仍然被浏览器视为 HTML,我不知道。
    猜你喜欢
    • 2020-09-19
    • 2012-12-31
    • 1970-01-01
    • 2020-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-22
    相关资源
    最近更新 更多