根据w3,元素的边距是透明的:
我已经构建了一个非常基本的HTML页面:
<!DOCTYPE html>
<html lang="en">
<head>
<title>Document</title>
<style>
body {
background-color: red;
}
</style>
</head>
<body></body>
</html>
在Chrome中,检查员报告“正文”的边距为8px:
但是在页面上,边距充满了背景色! (请注意,我的书签栏和红色背景之间没有空格 - 我保证我没有滚动。
这是怎么回事?
答案 0 :(得分:5)
CSS specification特殊情况。
根元素的背景成为背景 帆布和覆盖整个画布,锚定(为 '背景位置')与它的相同点 仅为根元素本身绘制。根元素没有 再次画这个背景。
但是,对于HTML文档,我们建议作者指定 BODY元素的背景而不是HTML元素。对于 其根元素是HTML“HTML”元素或XHTML的文档 “html”元素,计算出'transparent'的值 'background-color'和'none'代表'background-image',用户代理必须 而是使用背景属性的计算值 element的第一个HTML“BODY”元素或XHTML“body”元素的子元素 绘画画布背景,不得画背景 对于那个子元素。这样的背景也必须固定在 如果它们仅为根绘制,它们将是相同的点 元件。
...大概是因为人们在过去的糟糕时期过于习惯<body background="#ff0000">
。