如何绝对位于浮动内:左?

时间:2012-11-23 20:39:26

标签: css html css-float css-position

为什么添加左规则更改行为如此剧烈?是否可以相对于默认位置进行定位?

http://jsfiddle.net/suzancioc/drDn3/6/

HTML:

    <div class='level0'>
   <div class='level1'>
       Hello

   </div>
   <div class='level1'>
       Hello
       <div id='inner2'>inner2</div>
   </div>
       <div class='level1'>
       Hello
       <div id='inner3'>inner3</div>
   </div>

</div>

CSS:

.level0 {
   height:40px;
   width: 500px;
   background:red;
}
.level1 {
   float:left;
   margin:2px;
   border-style: solid;
   background: cyan;

}
#inner1 {
   position: absolute;
   background: green;
}

#inner2 {
   position: absolute;
   background: green;
    left:0px;
}

#inner3 {
   position: absolute;
   background: green;
}

1 个答案:

答案 0 :(得分:12)

为了定位绝对的东西,你需要将div(在你的情况下)分配给相对定位的父

.level1 {
   float:left;
   margin:2px;
   border-style: solid;
   background: cyan;
   position:relative;

}

添加position:relative使.level1成为其中所有元素的一种坐标系。

查看this JSFIDDLE