两个页面使用相同的CSS文件并且具有几乎相同的内容,但是在一个页面上,所有<p>
个元素默认具有顶部和底部边距,而另一个页面没有。检查浏览器中的元素并没有提供任何线索,因为从未明确声明边距。导致这些<p>
元素采取不同行为的原因(至少在Firefox中,我还没有在其他浏览器中对其进行测试)?
答案 0 :(得分:1)
我花了很多时间试图解决问题(使用浏览器检查器和firebug,检查css文件)没有运气,所以我已经切换到逐行比较html文件。这些元素形成不同的原因在于其中一个html文件的第一行。
一个文件以:
开头<!DOCTYPE html>
而另一个没有,这足以改变html元素的默认样式(例如p)。
这很可能是因为当缺少DOCTYPE时,浏览器会切换到quirks mode来模拟旧浏览器的错误功能。