假设我们有这样的标记:
<ul>
<li>
<span></span>
</li>
</ul>阅读我们拥有的ul规范:
内容模型: 中转站、中转站、转轨制、零头制和剧本配套要素。
内容模型的语义部分说,(强调我的)
内容模型 自愿性、自愿性、无偿性、转制性--必须包括哪些内容的规范说明 中标性、中转率、转正性、儿童性、性和后继性等要素。
我肯定想错了,但我无法计算出两者。因为span不是“0或更多li元素”的一部分,它是ul的后代。
如果规范说:“必须将哪些内容作为元素的子元素进行规范描述。”我会理解的,但这可能会与规范的其他部分发生冲突。
我的问题是如何解释这个问题。
添加更多上下文。作为孩子,ul只能拥有李。但是从上面看,如果一个人忘记了所有关于HTML等的知识,我会把它解释为两种方法中的一种:
通过“零或更多”,后者更强大。
发布于 2014-02-25 19:04:39
从3.2.3元素定义中引用的描述相当松散,甚至具有误导性。下一部分3.2.4内容模型描述了内容模型的真正含义:“本规范中定义的每个元素都有一个内容模型:对元素预期内容的描述。HTML元素必须具有与元素的内容模型中描述的需求相匹配的内容。元素的内容是DOM中的子元素,但模板元素除外,其中子元素是模板内容中的子元素“。
因此,内容模型以子节点的形式指定了允许的内容和所需的内容(尽管并非所有元素都有必需的内容)。这包括,在适用情况下,元素儿童和文本节点子节点(例如,一些元素只允许文本作为内容)。
这意味着ul元素可能只有li和script元素作为子元素。li元素有它们自己的内容模型,它们是相当宽松的。不需要任何内容;即使是<ul></ul>在HTML5中也是允许的。
https://stackoverflow.com/questions/22022469
复制相似问题