我试图了解一些事情。
为什么margin-top
上有body
?
html {
height: 100%;
background-color: red;
}
body {
height: 100%;
margin: 0;
background-color: yellow;
}

<h1>Hello Plunker!</h1>
&#13;
如果我在Chrome中查看开发工具检查器,则会显示h1
上边距位于body
上边距之外(图片显示h1
突出显示):
在下一个示例中,为什么黄色会在body
?
我希望只在body
元素中看到黄色,因为我设置了overflow
属性:
body {
height: 100px;
background-color: yellow;
margin: 0;
overflow: hidden;
}
&#13;
如果我在background-color
元素上添加了html
,它会起作用,黄色只填充body
元素,为什么?
html {
background-color: red;
}
body {
height: 100px;
background-color: yellow;
margin: 0;
overflow: hidden;
}
&#13;
答案 0 :(得分:1)
您的第一个问题
为什么身体上有一个保证金顶部?
回答 这是因为h1标签,h1从顶部和底部获取边距。你的观点是html(红色)正在显示。 它是默认行为。将float添加到h1
时它会正常工作h1{float: left;}
您的第二个问题
我预计只会在身体元素中看到黄色 我设置溢出属性
回答
溢出仅在将修复宽度/高度应用于任何标记/类时起作用。
如果你将隐藏的溢出应用到html / body它不起作用,我认为它的浏览器的默认行为就像firefox以及其他人一样。因为同样的事情也发生在我身上。
第三个问题的答案也在第二个问题的答案中进行了总结
我希望它会有所帮助。感谢
答案 1 :(得分:-2)
设置保证金:0到h1并添加填充代替,将解决您的问题。