这听起来是可能的,根据W3C我能够验证以下HTML代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Inline can another inline?</title>
</head>
<body>
<div>
<span>some text <span>comes here</span>.</span>
</div>
</body>
</html>
这是否意味着内联可以包含另一个内联?很困惑,我想只有块级元素可以包含另一个块级或内联元素。还认为内联元素只能包含文本。任何人都可以在这里用W3C参考或一些参考给出一些理论吗?感谢。
答案 0 :(得分:5)
是的,允许一些内联元素包含内联元素。以下是parameter entity inline的定义:
<!ENTITY % inline "#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;">
参数实体fontstyle和phrase描述的元素的内容模型定义如下:
<!ELEMENT (%fontstyle;|%phrase;) - - (%inline;)*>
这意味着 fontstyle 和词组描述的所有元素都可以包含内嵌元素。
special和formctrl描述的其他内嵌元素,但空元素BR
,IMG
,INPUT
除外,除了元素SCRIPT
,SELECT
和TEXTAREA
(即A
,OBJECT
,MAP
,Q
,{ {1}},SUB
,SUP
,SPAN
,BDO
和LABEL
)可能包含内联元素(对{{1}有一些额外限制}和BUTTON
)。
答案 1 :(得分:4)
这是对的。它在HTML规范第7章The global structure of an HTML document中描述:
7.5.3 Block-level and inline elements
内容模型 - 通常,块级元素可能包含内联元素和其他块级元素。 通常,内联元素可能只包含数据和其他内联元素 。这种结构区别的固有特征是块元素比内联元素创建“更大”的结构。