2个相对定位的分区?

时间:2011-04-04 14:54:59

标签: css positioning css-position

我有一个容器div具有相对定位,然后另一个div也具有相对定位:

<div class="first">
  <div class="second">
    <img src="img.jpg" />
  </div>
</div>

我希望绝对定位的图像相对于“第二”div不是“第一”。但我需要他们两个都有相对定位,我如何指定所以图像相对于“第二”div?

3 个答案:

答案 0 :(得分:3)

在页面层次结构中,图像相对于.second;但是,您必须将父母定义为相对定位,以便孩子照顾

请参阅:http://css-tricks.com/absolute-positioning-inside-relative-positioning/

.second { position:relative; }
.second img { position:absolute; top:0; left: 0 }

答案 1 :(得分:1)

根据CSS标准自动相对于第二个<div>,因为它嵌套在第二个<div>中并且div被定位。以下是the CSS2 standard的引用:

  

定位框的包含块由最近的定位祖先

建立

所以你在DOM树中向上计数,即从最近的祖先朝向文档根,并停在第一个定位的祖先(如果没有,那么它是最接近的容器,但不适用这里)。在这种情况下,这将是您想要的div.second

答案 2 :(得分:0)

.second img{ position:absolute; top:0; left:0; }

定位只是一个例子;你可以改变它以满足你的需要。