嵌套跨度标签在 XHTML 中可以吗?

Posted

技术标签:

【中文标题】嵌套跨度标签在 XHTML 中可以吗?【英文标题】:Are nested span tags OK in XHTML? 【发布时间】:2010-11-07 20:47:36 【问题描述】:

这会在 Xhtml 中验证吗?

<span>hello<span>world</span></span>

【问题讨论】:

我想知道这些年来这个问题是如何收集到数百个赞成票的。 @MrLister 我猜是因为我刚刚用谷歌搜索了这个问题并且这篇文章出现了...... :) 【参考方案1】:

是的,它会的。您可以使用w3's validator 直接输入选项来帮助自己:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
        <head>
          <title>Title</title>
        </head>

        <body>
           <p>
               <span>Test<span>Nest span</span></span>
           </p>
        </body>
      </html>

【讨论】:

这将回答问题的“验证”部分,而不是“确定”部分。 DTD 只能描述规范的一个子集。【参考方案2】:

绝对。

这是一个来自 XHTML-strict DOCTYPE 的 span 元素的定义。

<!ELEMENT span %Inline;> <!-- generic language/style container -->
<!ATTLIST span
  %attrs;
  >

“%Inline”部分告诉我它可以有来自“%Inline;”的子节点实体元素列表。

span 元素包含在归类为“% Inline”的元素列表中,结合 span 允许“%Inline”子元素告诉我 span 是 span 的有效子元素。

【讨论】:

【参考方案3】:

SPAN 只能包含内联元素,例如 SPAN 等。

【讨论】:

Span 会按照我说的去做! span display:block :D 好吧,它仍然不能包含块级元素,即使您将其设置为块样式。顺便说一句,还要检查我的答案是 8 年前发布的。 我知道只是想创建大声笑...是的,您“可以”将块元素放在跨度内,它不像浏览器会爆炸或任何东西...但是有些你不应该这样做作为一个经验法则,遵循正确的网络标准就是这样。 这就是重点。多亏了网络标准,您不必再通过网络破解您的方式。撇开玩笑不谈,我很感激我们拥有它们。 是的,把H放到span之外,把span放到H里面。

以上是关于嵌套跨度标签在 XHTML 中可以吗?的主要内容,如果未能解决你的问题,请参考以下文章

div标签嵌套原则详解(转载)

关于几个标签嵌套问题

li标签可以嵌套在<a></a>里面吗

html的标签嵌套规则

我可以在 React Native 中的 Picker 项的标签中使用多个或嵌套元素吗?

HTML语言的<table>标签怎么可以互相嵌套,就是一个大的表格套一个小的表格。留下源码!