我注意到Firefox / Firebug中出现了一个尴尬的事情:
<dl>
<dt><h3>test</h3></dt>
<dd>stuff</dd>
</dl>
以此格式呈现
<dl>
<dt></dt>
<h3>test</h3>
<dd>stuff</dd>
</dl>
我以前从未见过这种情况。任何人都可以解释原因吗?
答案 0 :(得分:2)
呀。根据DTD,<dt>
s不能包含<h3>
个。
Firebug没有向您展示您的实际来源;它向您展示了Firefox在渲染之前重写了您的源代码。与所有浏览器一样,Firefox会在您编写无效标记时猜测您的意思。你所看到的就是猜测的结果。
当然,解决方案是编写标准代码。
答案 1 :(得分:1)
可能是因为它是无效的XHTML,这就是Firefox的错误恢复工作方式:
第14行,第12列:文档类型不允许元素“h3”在这里;缺少“object”,“ins”,“del”,“map”,“button”start-tag
之一
FWIW,我测试了Chrome,IE和Opera,但没有一个表现出相同的行为。这是为什么你应该编写有效标记而不依赖于解析器的错误恢复的一个坚实的论据 - 浏览器以自己的方式处理错误。