为什么所有<body>
浏览器都在所有网页的元素上设置任意大小的边距?* 我对此并不感到惊讶,因为我多年来一直在制作网页,但我只是假设它是规范的一部分,就像里面的文字<strong>
应该是粗体一样。但是,正如在HTML5、 HTML 4.01、 HTML 4.0、 HTML 3.2,甚至HTML 2.0和RFC 定义中看到的那样,甚至从未提及默认样式!
我在 1995 年发布的 2.0 之前找不到 HTML 的任何定义,那么为什么所有浏览器都会在所有网页上插入非常特定的8px
边距*,尤其是在每个网站在前几行中删除它的时代CSS(甚至HTML 4.01 规范的样式表也这样做)或规范化/重置样式表?当然,有人可能会争辩说,像上面列出的 HTML 3.2 规范这样的古老网站依赖于此,但如果没有边距,它们看起来确实不错(尝试使用浏览器检查器将其删除)。
*** “所有浏览器”是指Chrome、Firefox、IE、Opera 和 Safari 的所有版本,包括所有相关的过时版本、beta、alpha 和 nightlies,截至本问题。