Comment CSS Postes de travail, pourquoi absolue éléments s'empilent les uns sur les autres au lieu de les empiler les uns après les autres

Comment pouvez obtenir à la fois #row1 et #row2 dans le code suivant pour être visibles, l'une après l'autre à la verticale, comme si il n'y avait pas absolute/relative positionnement impliqués?

<body>
  <div class="container">
    <div id="row1" class="row">
      <div class="col1">Hello</div>
      <div class="col2">World</div>
    </div>
    <div id="row2" class="row">
      <div class="col1">Salut</div>
      <div class="col2">le monde</div>
    </div>
  </div>

body {position:relative;}
.container {position:absolute;}
.row {position:relative;}
.col1, .col2 {position: absolute;}

http://jsfiddle.net/wjrNQ/

Mise à jour

J'ai besoin d'éléments pour avoir le positionnement prévu dans les règles CSS, pour des raisons d'exclus ici. Donc ma question est de savoir si il est possible de réaliser ce que je suis à la recherche de sans enlever le dessus de CSS? I. e. ayant les deux .row divapparaissent comme "normal" block éléments.

Mise à jour 2

Si assez de hauteur est spécifiée dans px, le résultat inattendu look. Mais le contenu est programmitacally dynamique donc je ne sais pas la hauteur de l'avance 🙁

  • jsfiddle.net/wjrNQ/1
  • Bien - ne pas utiliser le positionnement absolu! Tant que col1/col2 ont des positions absolues, ils vont ignorer les modifications sur les lignes.
  • N'utilisez pas de positionnement à tous les jsfiddle.net/wjrNQ/2 bien que ne suis pas répondre comme je suis pas sûr de ce que vous demandez ici
  • Merci pour les commentaires, veuillez consulter la mise à jour de question.