css position pour cent

J'ai un problème avec la position de divs par rapport à un autre div.

Je veux faire une div qui est en position horizontale dans le milieu de l'écran et dans ce div je veux mettre 3 autres div avec la même hauteur. Mais tous se doivent de répondre.

Une image en dit plus que des mots 🙂

css position pour cent

<div id="zwrapper">
 <div id="z1" class="row"></div>
 <div id="z2" class="row"></div>
 <div id="z3" class="row"></div>
</div>

Le blu élément est le HTML

html{
  background: steelblue;
  height: 100%;
  width: 100%;
  top:0; left:0; bottom: 0; right:0;
}

La chaux une ist que div (#zwrapper) où je veux ajouter les trois rouges divs.

#zwrapper{
  height: 81%;
  top: 10%;
  width: 100%;
  left: 0;
  position: absolute;
  background: lime;
}

Le rouge divs créer des problèmes. Tous les divs, d'une hauteur de 30%. Le premier devrait être aligné en haut, et la troisième vers le bas. Le milieu de la div avec l'id #z2 est le seul à obtenir une marge de 5%.

.row{
  position: relative;
  width: 80%;
  background: red;
  height: 30%;
 }
 #z2{
  margin: 5% 0;
 }

Mon idée était de mettre les 3 divs avec une hauteur de 30% dans le wrapper et donner le moyen d'une marge (haut /bas) de 5% si je reçois une hauteur de 100%.
Mais cela ne fonctionne pas.

Si je redimensionner la fenêtre en largeur, la hauteur du rouge divs changements mais je n'ai pas modifier la hauteur.

Je fais du violon pour le démontrer. http://jsfiddle.net/ELPJM/

Merci d'avance

vous souhaitez faire défiler après le redimensionnement de la largeur de la fenêtre ? vous devriez vos requêtes de média.

OriginalL'auteur Hansinger | 2013-08-20