Alors, c'est pas toujours simple ça, moi je dois toujours chipoter, surtout pour que ce soit compatible avec tous les navigateurs.
Je ne pense pas que ce soit la meilleure façon de le faire, bien au contraire, mais je n'ai rien trouvé d'autre, donc je t'explique déjà ça
Voici comment je fais.
Dans mon css, j'ai un id qui est "contenu" qui contient toute la page, un id "header" qui contient l'en-tête, un id "texte" qui va être la div affichant la zone bleue chez toi et un id "footer" qui représente le pied de page (la barre grise du dessous avec le logo PSP)
Tu dois donc faire quelque chose du style :
Code:
html { height: 100%; }
body { height: 100%; margin:0; padding:0; /* encore plein de trucs blablabla */ }
* html contenu { height: 100%; }
div#contenu {
min-height: 100%;
/* d'autres trucs*/
}
div#header{
/* on s'en fout ici */
}
div#texte{
background-image:url("img/fond_bleu.png");
background-repeat:repeat-y;
}
div#footer {
background-image:url("img/barre_dessous.png");
background-repeat:no-repeat;
position: absolute; bottom: 20px;
}
Donc ici, on
Le min-height assure que le contenu fait au moins 100% de la fenêtre (plus si le texte est trop long) pour firefox. Ca ne fonctionne pas pour IE, donc je le "buggue" en lui mettant * html contenu { height: 100%; }
ensuite je colle le footer en position absolue au bas de la page.
La zone texte s'étendra donc, et le fond derrière se répetera verticallement autant de fois qu'il le faut
petite remarque, pour ton fond bleu, tu ne sais pas faire une découpe fine dans ce motif. les dégradés verticaux ca pose problème :/