嵌套的span标签在XHTML中可以吗?


150

这会在XHTML中验证吗?

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

我不知道这个问题在过去几年中如何成功地收集了数百个支持。
李斯特先生'18

1
@MrLister我猜是因为我刚刚用Google搜索了问题,这篇文章就出现了……:)
Andrew Truckle

Answers:


142

是的,它会的。您可以使用w3的验证程序直接输入选项来帮助自己:

<!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>

2
这将回答问题的“验证”部分,而不是“确定”部分。DTD只能描述规范的一个子集。
昆汀2009年

87

绝对。

这是跨度元素的XHTML严格DOCTYPE定义。

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

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

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


29

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


6
Span会按照我的指示去做!span { display:block }:D
国王

好吧,即使您将其设置为块样式,它仍然不能包含块级元素。顺便说一句,还要检查我的答案是8年前发布的。
dusoft

我知道这只是在尝试创建大声笑...是的,您可以“将”块元素放入跨度中,而不像浏览器会爆炸或发生任何事情...但是它是您不应该遵循的一些经验法则网络标准就是这样。
国王

这就是重点。借助网络标准,您不必再通过网络来破解。除了笑话,我很感谢我们有他们。
dusoft

1
是的,将H放在跨度和跨度内
。– dusoft
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.