Hmmmm tienes un problema en el diseño... Para empezar, siempre que quieras posicionar un elemento absolutamente, esto es lo que debes hacer:
<html>
<head>
<style>
#padre { position: relative; }
#padre .hijo { position: absolute; top|left|right|top: valor }
</style>
</head>
<body>
<div id="padre">
<div class="hijo"></div>
<div class="otro"></div>
</div><!-- #padre -->
</body>
De esta forma se ponen los elementos absolutos, de lo contrario no funciona. Si puedes evitarlo, mejor.
Si quieres alinear un elemento a la izquierda o derecha, utiliza float: left|right. El siguiente ejemplo utiliza elementos flotando:
<html>
<head>
<style>
#padre { position: relative; }
#padre .hijo { position: absolute; top|left|right|top: valor }
.alignl { float: left; }
.alignr { float: right; }
.clear { clear: both }
/* Lo siguiente debes utilizarlo siempre en la etiqueta padre que contenga elementos flotando (float), a no ser de que la etiqueta padre este flotando también */
.cf:before, .cf:after { content: ""; display: table; }
.cf:after { clear: both; }
.cf { *zoom: 1; }
</style>
</head>
<body>
<div id="padre" class="cf"><!-- No esta flotando, por ende necesita la clase cf -->
<div class="hijo alignl"></div>
<div class="otro alignr"></div>
</div><!-- #padre -->
<div id="padre-flotando" class="alignl"><!-- Esta flotando y no necesita la clase cf -->
<div class="alignl"></div>
<div class="alignr"></div>
<div class="clear"></div><!-- Si no utilizo la clase clear, el elemento quedará pegado a los otros dos. Haz la prueba para que veas lo que ocurre. -->
</div><!-- #padre-flotando -->
</body>
Nota: si no tienen contenido no verás ninguna cosa XD, así que agrega contenido a los divs si vas a ver el ejemplo en vivo.