-1

我正在设计一个网站,但无法决定哪种类型的定位更好,相对的还是绝对的。我知道过去当我使用绝对定位并尝试重新调整浏览器的大小时,它会偏离我放置的任何位置。但是,如果我使用相对定位并想要更改某些内容,它似乎总是会把页面上的所有其他内容都扔掉。

你们那里的专业人士用什么?

4

2 回答 2

2

默认情况下,将所有内容保留为静态(相对)。当浏览器大小发生变化时,这可以让事物稍微调整大小。绝对定位(相对于整个网页)往往会使网页在窗口大小发生变化时停止正常工作。

然而,在某些情况下使用绝对位置总是有用的。但是,设置相对于其他元素的绝对元素 - 永远不要使用相对于页面的绝对定位。

绝对定位让您将某些元素放在其他元素之上,例如:

<div style="position: relative; width: 100px; height: 100px">
  <img src="" width="100" height="100">
  <div style="position: absolute; left: 0; top: 0">Some text on top</div>
<div>

在上面的示例中,浏览器将绝对定位的 div 相对于某物定位。那是 DOM 层次结构中的第一个相对祖先。所以它会看到它上面的 div 并将其定位在相对于该 div 的 (0,0) 处。因此,一个 div 被放置在另一个 div 之上,当然,另一个 div 是相对于页面的其余部分放置的。

通常,当绝对元素放置在另一个元素之上并相对于另一个元素时,它将位于顶部。如果需要调整其他元素前面的内容,可以使用 z-index css 属性。

于 2012-09-02T00:50:48.433 回答
1
  1. 一般来说,最好的是position:static
  2. 如果您希望元素相对于窗口保持在同一位置,最好是position:fixed
  3. 如果您希望元素相对于父元素保持在相同的位置,最好是position:absolute与父元素position不同static
  4. 如果你想从文档流中移除一个元素,最好的是position:absoluteand position:fixed
  5. 如果你想向上/向下/向右/向左移动一个元素,但又不想影响周围的元素,最好的方法是position:relative
  6. 如果要向上/向下/向右/向左移动元素并且想要影响周围的元素,请使用边距。
  7. 如果一个元素与另一个元素重叠,并且您想查看第一个元素,则最好position:relative使用z-index.
于 2012-09-02T01:01:46.207 回答