0

我有 2 个 div,一个使用位置:绝对,另一个使用位置:静态(默认)
左侧的绝对位置:100px。
margin-left 的静态位置:100px

为什么他们不在同一个地方?

8px 在哪里?

4

4 回答 4

1

发布一个指向小提琴的链接会很好,但在那之前你可以尝试设置:

html, body
{
  margin: 0;
  padding: 0;
}

由于绝对定位div已从文档的正常流程中取出,因此 staticdiv和 absolute的放置之间的任何不一致很可能div是由包含 static 的元素上的margin's 或' 设置引起的。paddingdiv

于 2013-07-17T03:38:34.567 回答
0

您需要删除正文边距。

    body {
      margin:0px;
    }

绝对 div 是“HTML”的子级。静态 div 是“身体”的孩子。默认情况下,正文有 8 像素的边距。

示例:http: //jsfiddle.net/y5S6W/

于 2013-07-17T03:41:53.610 回答
0

由于元素默认按照它们在页面中的编码顺序显示,因此绝对定位的 div 将位于特定位置;但是,第二个 div 将在第一个 div 之后,这意味着它的 CSS 的 margin left: 100px; 实际上将它移动了 100px 加上页面左侧第一个 div 的宽度。

于 2013-07-17T03:42:40.957 回答
0

你确定它不是2px的边框宽度(加起来)总共8px吗?

于 2013-07-17T03:35:44.257 回答