Mammouth du PHP |
19672 Messages
29 mars 2006, 10:10
Le DOCTYPE indique selon quel standard sont codées les lignes de la page. Selon qu'on utilise une version transitional ou Strict, certaines balises ou certains attributs dans certaines balises seront autorisés, tolérés ou carrément interdits.
Le DOCTYPE fait appel à une DTD (Document Type Definition) qui est intégrée dans le navigateur, si elle ne l'est pas, elle est chargée à l'adresse indiquée dans la balise DOCTYPE.
En enlevant la ligne DOCTYPE, tu auras alors une interprétation selon le standard HTML4 la plus laxiste qui soit.
Ton problème de positionnement relatif : pose toi la question : relatif par rapport à quoi ? Réponse : par rapport à l'élément précédent. Dans ton cas, l'élément précédent du bloc #footer, c'est non pas body mais #content.
Essaye donc de le mettre en position absolute et dans ce cas, le positionnement se fera par rapport à la fenêtre et ton pied de page sera bien collé à 20px du bord inférieur de la fenêtre. Proposition en XHTML 1.0 Strict :
Code : Tout sélectionner
<?xml version="1.0" encoding="iso-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" xml:lang="fr" />
<title>Positionnement d'un pied de page</title>
<meta http-equiv="Content-language" content="FR-fr" xml:lang="fr" dir="ltr" />
<style type="text/css">
/* <![CDATA[ */
html body {
margin:0;
padding:0;
height:100%;
}
div#content {
height:auto;
display:block;
min-height:100%;
}
div#footer {
clear:both;
position: absolute;
bottom:20px;
}
/* ]]> */
</style>
</head>
<body>
<div id="content">
Le contenu de ma page
</div>
<div id="footer">
Mon pied de page
</div>
</body>
</html>
Note importante : en XHTML, les valeurs d'attributs doivent être entre guillemets et non entre apostrophes.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse 