html, body
{
  margin:0;
  padding:0;
  height:100%; /* 100 % en hauteur */
}

html>body #wrap {height:100%;} /* 100 % en hauteur */

#header
{
   width:100%;
   height:5em;
}

html>body #header
{
  position:fixed;
  z-index:10; /* empêche certains problèmes avec les élements de formulaire */
}

html>body #content-wrap {height:100%;} /* 100 % en hauteur */

html>body #content {padding:6em 1em;} /* 6em = hauteur de #header et #footer + 1em, 1em = donne au contenu un peu d'espace par rapport aux bords */

#footer
{
   width:100%;
   height:5em;
}
html, body {background:url(foo) fixed;}

#header, #footer
{
   position:absolute;
   z-index:10;
}
#header
{
    top:expression(eval(document.compatMode && document.compatMode=='CSS1Compat') ? documentElement.scrollTop : document.body.scrollTop)
}

#wrap, #content-wrap {height:100%;}

#content {padding:6em 1em;}

#footer
{
    top:expression(eval(document.compatMode && document.compatMode=='CSS1Compat') ?
    documentElement.scrollTop +(documentElement.clientHeight-this.clientHeight) :
    document.body.scrollTop +(document.body.clientHeight-this.clientHeight));
}

html>body #footer
{
  position:fixed;
  bottom:0;
  z-index:10; /* empêche certains problèmes avec les élements de formulaire */