提问者:小点点

为什么两个div在CSS中的位置不重叠?[副本]


对于两个div,一个是绝对位置的div,另一个是相对位置的div,同样的div结构和css。

null

   
      
    #div1{
        width:120px;
        height:120px;
        border:1px solid red;
        position:relative;
        top:60px;
        left:70px;
        }
    #div2{
        width:120px;
        height:120px;
        border:1px solid black;
        position:absolute;
        top:60px;
        left:70px;
        }
<div id="div1">
</div>
<div id="div2">
</div>

null

为什么两个div不能重叠为一个?


共1个答案

匿名用户

这是因为body边距默认设置为8px。div1位置是相对,所以左:70px的意思是,实际上距离左边缘78px。div2位置为绝对位置,即距离左边缘70px。

body设置margin:0后,这两个div应该重叠。

null

body {
  margin: 0;
}
#div1 {
  width: 120px;
  height: 120px;
  border: 1px solid red;
  position: relative;
  top: 60px;
  left: 70px;
}

#div2 {
  width: 120px;
  height: 120px;
  border: 1px solid black;
  position: absolute;
  top: 60px;
  left: 70px;
}
<div id="div1">
</div>
<div id="div2">
</div>