我的网站上有这样一个 DOM:
<html>
<body>
<div id='topbar'/>
<div id='centerframe'/>
</body>
</html>
使用CSS规则:
html
{
margin:0;
padding:0;
}
body
{
background:url('/images/brickwall.jpg'); background-size: 10%;
width:100%;
height:100%;
margin:0;
padding-top:0;
}
div#centerframe
{
background:rgba(255, 255, 255, 0.85);
box-shadow:0em 0.5em 2em 0.3em;
padding:90px;
margin-left: 180px;
margin-right: 160px;
margin-top: 200px; /* this also causes body to slide down 200px , when body{padding-top:0} . why ? */
}
#topbar
{
position:fixed;
display:block;
float:left;
width:100%;
height:80px;
top:0;
margin-top:0%;
background:rgba(0,0,0,1);
}
这个 css 导致了这样一个问题:body 在顶部有一个边距,即使我告诉它margin:0;
这是屏幕帽:
但是当我更改 css 并制作body{padding-top: 1px;}
(而不是 0)时,它可以正常工作。查看屏幕截图:
当我添加此规则时它也有效:#centerframe{float:left;}
但它会导致其他问题,例如扩展到超过 100% 的宽度。
无论如何,所以我用 1px 填充解决了这个问题。但为什么一开始就存在问题呢?
如何<body/>
更改其上边距的孩子?
谢谢 !