我给#main
加的margin-top啊 为什么#nav
会掉下来?
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
*{margin:0 ;padding:0}
html, body {
position: relative;
height: 100%;
}
html{-webkit-text-size-adjust:none;}
#nav{width: 100%;height: 50px;background-color: blue;position: fixed;z-index: 999999999;}
#main{min-height: 100%;width: 100%;margin-top: 50px}
</style>
</head>
<body>
<div id="nav">
</div>
<div id="main">
</div>
</body>
</html>
nav 作为 fixed 是根据其父元素链上第一个非 static position 的元素来定位的,
在这里会找到 body。
然后你可以看到 body 并不是沿着屏幕上边缘定位的,这是因为 body 的内容是从 #main 的内容开始的,于是当 body 的子元素 #main 有一个 margin-top 的时候,body 会拥有一个和他的子元素一样的 margin-top。
所以平时应该尽量不要给 body 的第一个子元素设置 margin-top,而是改成为 body 设置 padding-top。
如果帮到你请投 up 或者接受答案