先上代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>title</title>
</head>
<body>
<div class="box">
</div>
</body>
<style>
html{
background-color: black;
}
body{
height: 300px;
background-color: darkgoldenrod;
/* padding: 0px; */
/* margin: 0px; */
/* border: 0px; */
}
.box{
background-color: brown;
width: 100%;
height: 200px;
}
</style>
</html>
页面效果如下:
这里黑色是html,可以看到是占满整个页面的,暗金色是body标签,红色是div标签
从上面可以看出,body标签是有默认外边距的
额。。控制台更容易看出默认外边距为8
因此,想要消除顶部和左右两侧的留白,就需要消除body的默认外边距,即
margin: 0px;
网上很大一部分是
padding: 0px;
margin: 0px;
border: 0px;
是考虑到内边距和边框是否有值的问题。
话题之外:
当我把html的背景色注释掉以后,会发现整个页面都变成了暗金色,这里body的margin为8并没有清除,而是当html不设置背景色时,body的背景将作为整个页面的背景色。从控制台看margin依旧是那个margin。