【问题标题】:What elements can a span tag contain in HTML5?HTML5 中的 span 标签可以包含哪些元素?
【发布时间】:2012-07-04 02:33:35
【问题描述】:

所以在我的大部分职业生涯中,我一直是 PHP 的 CLI 或 Cron 开发人员,现在我正在了解为什么我不喜欢在学校工作的 UI ;) 我在这里处理 HTML5 验证,但我没有找到答案好奇的问题。我在我的主页上运行了 W3C HTML5 验证,并且在 <span> 内的 div 周围出现了几个错误,这是不允许的。我尝试将跨度内的所有<div> 更改为<p>,但收到几乎相同的错误。 http://www.w3schools.com/html5/tag_span.asp 没有明确说明<span> 中允许哪些元素,验证器的错误也没有:

第 85 行,第 69 列:元素 p 不允许作为元素 span 的子元素 这个上下文。 (抑制来自该子树的更多错误。)

2 个问题:

1) <span> 中允许哪些元素(如果有)?

2) 我在哪里可以参考另一个元素中允许的元素?我用谷歌搜索过,但没有看到上面有“W3C”标记。

【问题讨论】:

    标签: html w3c-validation web-standards


    【解决方案1】:

    内联元素中只能包含内联元素。 span 是一个内联元素。因此,aimgsup 等标签可以在一个范围内,但像 divp 这样的块级元素不能。

    更新

    实际上,默认为内联显示的不同元素的行为不同。一些“内联”元素可能允许块元素(例如a),而另一些则不允许(例如span)。

    如果您对 HTML 标记可能包含的内容感兴趣,您最官方的来源是关于 HTML 元素的 WHATWG 页面。您可以检查任何 HTML 元素并查看允许的内容(请参阅每个元素的“内容模型”):

    http://www.whatwg.org/specs/web-apps/current-work/multipage/#auto-toc-4

    这里是 span 标签的定义,它表示只允许“短语”内容。

    http://www.whatwg.org/specs/web-apps/current-work/multipage/text-level-semantics.html#the-span-element

    【讨论】:

    • 这是对的,但一个例外是<a>-Tag,它可以用块级元素填充,如 HTML5 中的“
      ”。
    • @insertusernamehere 需要注意的是<a>标签可以有块级元素只有<a>标签的父元素可以包含块级元素时。
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签