因此,在下面的代码中,当我更改bar的边距时,foo的位置也会发生变化。但这仅在 body 相对定位时才会发生。如果我静态放置 body ,则foo的位置不再取决于bar的边距。谁能告诉我这是怎么回事?

<!DOCTYPE html>
<html>
 <head>
  <style type="text/css">
   * {
    margin:0;
   }

   body {
    position:relative;
   }

   #foo {
    position:absolute;
    top:50px;
    left:50px;
   }

   #bar {
    margin:100px;
   }
  </style>
 </head>
 <body>
  <div id="foo">asdf</div>
  <div id="bar">asdf</div>
 </body>
</html>

最佳答案

绝对定位的元素由其最接近的绝对或相对定位的父对象 anchor 定。

编辑:有关 margin 的更多说明,请参阅下面的评论。

EDIT2:这也适用于具有固定位置的元素。

关于html - 为什么相对定位的 body 会影响绝对定位的元素?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6311121/

10-12 12:38
查看更多