使用绝对定位

时间:2013-10-07 20:57:23

标签: html css

我正在尝试使用绝对定位来定位包含蓝色方块的div。出于某种原因,我无法得到它想去的地方。

JSFIDDLE:http://jsfiddle.net/qkF3Z/

我的代码:

#share-area-arrow {
position: absolute;
height: 10px;
width: 10px;
background-color: blue;
}

应该如何看待: Correct Positioning

我可能做错了什么?

2 个答案:

答案 0 :(得分:1)

这会产生预期结果:

jsFiddle here

更新了CSS - 我使用了relative定位。

#share-area-arrow {
    position: relative;
    height: 10px;
    width: 10px;
    background-color: blue;
    top: 20px;
    left: 70px;
}

或者,如果您认为需要absolute定位,请使用:

#share-area-arrow {
    position:absolute;
    top: 30px;
    left: 192px;
}

jsFiddle here - 当前背景下的结果相同

答案 1 :(得分:1)

有2件。绝对位置将使用最近的相对定位父级的坐标系。因此,您需要相对于父级添加位置:

#share-something {
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 40px;
    height: auto;
    width: 540px;
    overflow: auto;
    position:relative;
}

然后定位箭头:

#share-area-arrow {
    position: absolute;
    top:10px;
    left:70px;
    height: 10px;
    width: 10px;
    background-color: blue;
}

http://jsfiddle.net/qkF3Z/6/

可以在此处找到不同职位类型之间非常好的解释:http://alistapart.com/article/css-positioning-101。要点是当你希望元素在dom中保持它的空间,但是出现在另一个位置时,使用相对位置。如果要完全移动元素,请使用绝对位置。