根据w3,元素的边距是透明的:
我建立了一个非常基本的HTML页面:
Document
在Chrome中,检查员报告“正文”的边距为8px:
但是在页面上,页边距充满了背景色!(请注意,我的书签栏和红色背景之间没有空格-我保证我没有滚动。
那是怎么回事?
在CSS规范特殊情况下。
根元素的背景成为画布的背景,并覆盖整个画布,将其锚定(用于“背景位置”),与仅针对根元素本身进行绘制时的锚定点相同。根元素不会再次绘制此背景。
但是,对于HTML文档,我们建议作者为BODY元素而不是HTML元素指定背景。对于其根元素是HTML“ HTML”元素或XHTML“ html”元素的文档,其值为“ background-color”为“ transparent”,为“ background-image”为“ none”,则用户代理必须改用在为画布绘制背景时,该元素的第一个HTML“ BODY”元素或XHTML“ body”元素子元素的背景属性的计算值,并且不得为该子元素绘制背景。如果仅为根元素绘制背景,则这些背景也必须锚定在同一点。
……大概是因为人们已经习惯了糟糕的过去。