【问题标题】:Why is the paragraph element is not allowed in the h1 element for xhtml strict?为什么 xhtml 严格的 h1 元素中不允许段落元素?
【发布时间】:2013-12-06 07:54:28
【问题描述】:

我们知道h1p 元素是块元素。引用我读过的一篇文章:

H1和P一样是块元素,但是H1和P只能有内联 它们内部的内容,不像其他块元素,如表单和 分区。因此,您不能在段落内嵌套标题(如果您 想想看,标题真的不应该出现在段落中)。

我想知道为什么p 元素不能嵌套在h1 元素中以及为什么h1 元素不能嵌套在段落元素中?人们只是说原因在this link

在那个链接中,我找不到它提到 h1 元素中不允许使用哪个标签的位置。

是否有文章让我们深入了解所有 doctype 版本(HTML 4.0.1、HTML5、XHTML 严格等)的哪些元素中不允许使用哪些元素?

【问题讨论】:

  • 用现有的力量接受它。好消息是 xhtml 是短暂的并且迅速消亡。
  • 您是否阅读了您引用的部分?因为它看起来就像是为了回答你的问题而写的。
  • 你的意思是花更多的时间在 HTML5 而不是 xhtml 上?
  • @Lenny:具有讽刺意味的是,这与 XHTML 无关。 HTML 可能还活着并且变得强大,但在开玩笑:它在 HTML 中也是不允许的,这实际上恰好是为什么它在 XHTML 中是不允许的。
  • @BoltClock'saUnicorn 不,我开的玩笑,因为没人在乎。我喜欢 XHTML Strict。我很兴奋 html 会变得干净。我支持不支持坏代码的浏览器,但流行的观点是宽松的 HTML5。所以继续把段落放在你的标题中,它仍然可以工作,没人知道。

标签: css html xhtml


【解决方案1】:

HTML 实际上不仅仅是一种包含块和内联元素的语言,而是您网站的语义描述。例如,屏幕阅读器分析结构并在标题、表格、列表等方面提供不同的功能。因此,重要的是要查看您网站的语义,以及它是内联的还是阻塞的。

p 和 h1 是语义标签,而不是 div 和 span,它们几乎只是供您应用样式的容器。 P 表示它是一段文本,并且段落没有标题(标题位于段落上方!)。标题也没有段落。所以它只会打破语义,让它们被放置在彼此的内部。

【讨论】:

  • 能做和被允许做是有很大区别的。或者根本说得通。是的,页脚内的页眉甚至可能有意义:)
  • 顺便说一句。尝试将表格放在 p 中,您会发现并非一切正常;)
  • validator.w3.org/…为什么会有很多错误
  • 结果是在 iframe 中加载的,这里没有验证 ;) 但在这里:validator.w3.org/…
猜你喜欢
  • 2011-05-08
  • 2022-01-09
  • 2011-12-25
  • 1970-01-01
  • 2011-12-17
  • 1970-01-01
  • 2012-03-08
  • 2019-07-07
  • 2013-01-12
相关资源
最近更新 更多