Introducció:
Tenim el codi següent:
I com veieu estem fent servir models xhtml1.0 transitional o xhtml1.0 strict, amb la qual cosa hem perdut la capacitat de posicionar capses tocant a la part inferior de la finestra del navegador tal i com passava uns pocs anys abans amb versions de navegadors anteriors. És una cosa que dona molts mals de cap habitualment per qui estava acostumat a treballar a la manera antiga ja que les pàgines queden com penjant de dalt quan encara no hi ha prou continguts.

La raó per la qual passa això té a veure amb que amb aquests modes transitional i strict els navegadors no consideren que el body hagi d'arribar de dalt a baix de la finestra. Hi ha una comprobació que podeu fer per adonar-vos d'això que és posar una vora a body i mirar fins on arriba quan encara no hi ha continguts.
body {border:5px solid #ff0000;}
El resultat és aquest:

Solució:
- La capsa body no arriba a tocar ni el sostre ni les parets degut a que el navegador li representa marges i farcits en aquesta capsa per defecte. Per solucionar això fem:body {margin:0; padding:0;}
- La body no arriba fins a baix. Per aconseguir-ho hem de definir els CSS següents:
- Un cop estirat el body la capsa ajustadora també la podrem estirar al 100% del que ocupi el body.
- A la fulla css posarem el següent codi:body { margin:0; padding:0px; background-color:#000000;
/* Així posem els marges de body a zero. */
}
html, body {
/* "html, body" selector de grup. */
height:100%;
/* ocupen el 100% de la finestra estirant body */
}
#ajustadora {
width:955px;
margin:auto;
/* Això centra la capsa ajustadora */
min-height:100%;
/* ajustadora ocupa com a mínim el 100% de body */
/* NOTA: min-height: no està suportat a versions anteriors de Internet Explorer 7, a no ser que li poseu la biblioteca IE7.js */
margin-bottom:-50px;
/* Això serveix per restar a l'alçada mínima de l'ajustadora, que és el 100% de la finestra, el que té d'alçada la capsa peu i d'aquesta manera aconseguim que la capsa "PEU" entri a la pantalla */
/*I per que el text de continguts no es superposi o s'amagui a causa de la footer, posem: */
padding-bottom:50px; /* l'alçada de peu */
/* I fins i tot posaríem una mica més per que l'usuari vegi espai*/
padding-bottom:100px;
}
#menu {width:150px; height:300px; float:left;}
#lateral {width:150px; height:300px; float:right;}
#continguts { }
#peu {width:995px; margin:auto; height:50px; background-color:#333333;} - NOTA: Potser convindria posar a #peu l'atribut: clear:both; en cas que les capses menu i lateral sobresurtissin per sobre de peu per contenir massa coses.
- En un capítol més endavant i amb l'ajut de javascript farem que les capses menu i lateral arribin fins avall.
Agraïments i crèdits:
La solució que heu vist està basada a CSS STICKY FOOTER, Clilqueu aquí per anar a la pàgina original.
0 comentaris:
Publica un comentari a l'entrada