HTML <inline>可以包含另一个<inline>元素?</inline> </inline>

时间:2010-08-30 14:40:27

标签: html w3c w3c-validation

这听起来是可能的,根据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参考或一些参考给出一些理论吗?感谢。

2 个答案:

答案 0 :(得分:5)

是的,允许一些内联元素包含内联元素。以下是parameter entity inline的定义:

<!ENTITY % inline "#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;">

参数实体fontstylephrase描述的元素的内容模型定义如下:

<!ELEMENT (%fontstyle;|%phrase;) - - (%inline;)*>

这意味着 fontstyle 词组描述的所有元素都可以包含内嵌元素。

specialformctrl描述的其他内嵌元素,但空元素BRIMGINPUT除外,除了元素SCRIPTSELECTTEXTAREA(即AOBJECTMAPQ,{ {1}},SUBSUPSPANBDOLABEL)可能包含内联元素(对{{1}有一些额外限制}和BUTTON)。

答案 1 :(得分:4)

这是对的。它在HTML规范第7章The global structure of an HTML document中描述:

  

7.5.3 Block-level and inline elements

     

内容模型 - 通常,块级元素可能包含内联元素和其他块级元素。 通常,内联元素可能只包含数据和其他内联元素 。这种结构区别的固有特征是块元素比内联元素创建“更大”的结构。