0
<h1>Hello<h3>World</h3></h1>

如果这是我的 html,所有浏览器都会从 h1 中删除 h3。如果我看到源代码

<h1>Hello</h1>
<h3>World</h3>

据我所知 h1 和 h3 都是块元素。为什么我不能将块元素放在另一个块中。

http://jsfiddle.net/J3dP4/

捕获

4

3 回答 3

3

来自w3.org 上的 h1 元素

允许内容:

措辞内容

此处列出了措辞元素:

a 或 em 或 strong 或 small 或 mark 或 abbr 或 dfn 或 i 或 b 或 s 或 u 或 code 或 var 或 samp 或 kbd 或 sup 或 sub 或 q 或 cite 或 span 或 bdo 或 bdi 或 br 或 wbr 或 ins 或del or img or embed or object or iframe or map or area or script or noscript or ruby​​ or video or audio or input or textarea or select or button or label or output or datalist or keygen or progress or command or canvas or time or Meter

h3不在其中。

所以不,你不能把 a 放在 ah3h1

于 2013-03-21T12:46:04.677 回答
0

<h1>并且<h3>都是同一种块元素,标题级别。如果它按您的意图“工作”没有什么区别,结果是一样的。

一直<h1><h6>.

于 2013-03-21T12:47:57.407 回答
0

这就是为什么你不应该那样做,以及为什么你不能那样做。

为什么你不应该这样做,请参阅dystroy的回答。

为什么你不能这样做,只是解析规则不允许你这样做。但这仅仅是因为您试图制作一个 h?元素另一个 h 的直接子元素?孩子。如果它是后代但不是直接孩子,那么解析规则不会阻止您。例如,

<h1>Hello<div><h3>World</h3></div></h1>

提琴手

在 h1 元素内的 div 元素内放置一个 h3 元素。但是请注意,这种安排仍然无效,您不应该这样做。

于 2013-03-21T13:12:28.277 回答