所以我在我的职业生涯中一直是PHP的CLI或Cron开发人员,现在我正在学习为什么我不喜欢学校的UI工作;)我在这里处理HTML5验证而我找不到答案问题是为了好奇。我在我的主页上运行了W3C HTML5验证,并且在<span>
范围内的div周围出现了几个错误,这是不允许的。我尝试将跨度内的所有<div>
更改为<p>
,但收到的错误几乎相同。 http://www.w3schools.com/html5/tag_span.asp没有明确说明<span>
中允许哪些元素,验证者的错误也没有:
第85行,第69栏:元素p不允许作为元素跨度的子元素 这个背景。 (抑制此子树中的更多错误。)
2个问题:
1)<span>
中允许哪些元素?
2)我在哪里可以参考另一个允许的元素?我用Google搜索,但看不到任何带有“W3C”标记的邮件。
答案 0 :(得分:51)
内联元素中只能包含内联元素。 span
是内联元素。因此,a
,img
,sup
等标记可以在一个范围内,但div
和p
等块级元素不能。{ p>
<强>更新强>
实际上,默认为内联显示的不同元素表现不同。一些“内联”元素可能允许块元素(例如a
),而其他元素则不允许(例如span
)。
如果您对HTML标记可能包含的内容感兴趣,那么您最正式的来源是HTML元素的WHATWG页面。您可以检查任何HTML元素并查看允许的内容(请参阅每个元素的“内容模型”):
http://www.whatwg.org/specs/web-apps/current-work/multipage/#auto-toc-4
以下是span标记的定义,表示只允许“短语”内容。