嵌套跨度标签在 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 中可以吗?的主要内容,如果未能解决你的问题,请参考以下文章