Die Position sollte stimmen (der zweite div liegt abgeschnitten unter den ersten). Was übersehe ich hier?
Vielleich, dass absolut positionierte Elementen relativ zum nächst oberen Parent-Element positioniert wird, welches nicht static ist.
Übrigens sind 20px unter Umständen nicht 4em.
Hier ein testcase:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
<html>  
<head>  
<title>Untitled</title>  
<style>  
#parent{position:relative; background:#cfc; width: 200px; height:50px;}  
.lower{position:absolute; background:#fcc; width: 200px; height:50px;z-index:3;}  
.upper{position:absolute;background:#ccf; width: 200px; height:50px; z-index:2;}  
</style>  
</head>  
<body>  
<div id="parent">  
<div class="lower">Lower is top</div>  
<div class="upper">Upper is down</div>  
</div>  
</body>  
</html>  
mfg Beat
-- 
><o(((°> ><o(((°>
<°)))o>< ><o(((°>o
Der Valigator leibt diese Fische
  ><o(((°> ><o(((°>
<°)))o>< ><o(((°>o
Der Valigator leibt diese Fische