如何在包含div中创建固定位置div?

时间:2011-06-23 09:17:42

标签: html css

JSFiddle

如何让'Tree'位于第二行的顶部?

我已经阅读了一些关于此的消息来源,有些人声称fixed相对于其外部容器定位,其他相对于浏览器窗口定位。在位置:绝对,我已经读到它相对于浏览器窗口,但w3schools声称它相对于第一个定位元素。所有这一切都使我的头脑有点模糊,尽管玩弄了两个属性,但我还是无法真正理解这一点。

1 个答案:

答案 0 :(得分:4)

position:fixed总是指浏览器窗口。滚动浏览器窗口时,固定的定位元素不会改变它的位置。

如果你想在另一个元素中放置一个相对定位的元素,你必须给容器(父)元素一个position:relative;,并且其中的元素为position:absolute;。这样,绝对定位的元素坐标将基于父(相对定位)元素。

此外,在尝试对布局使用绝对和相对定位时,最好不要使用表格。

<强>更新

绝对定位元素将搜索DOM树,寻找最近定位的祖先。如果它找不到,它将相对于浏览器窗口定位自己。 - Justus Romijn

更新2

只需将position:relative;赋予包含绝对定位元素的td,就像这样 http://jsfiddle.net/E2gYN/5/