Depuis ce matin, j'ai beau lire et relire l'openweb et ce post ci, je n'arrive pas à faire une page avec un header + menu à gauche + contenu.
Ma page est à l'adresse suivante : http://www.lesgrognards.com/www/index.php
La page est structurée de la manière suivante :
1- un div "page" pour entourer le tout
2- un div "header" qui contient le ... header
3- un div "haut" dans lequel est compris un div pour afficher la date, et un div pour le menu horizontal
4- un div en float:right pour le bas de la roue
5- un div "menu_global" qui comprent 3 div pour découper l'image du menu
6- un div "contenu" pour le contenu du site
7- un div "footer" pour le footer
Voilà donc comment est constitué le code HTML :
CODE
<body>
<div id="page">
<!-- Header et menu de navigation du haut -->
<div id="header"></div>
<div id="haut">
<div id="date">Mardi 19 Octobre 2004</div>
<div id="nav_haut"><a href="index.php" class="nav_haut" rel="index">accueil</a> | <a href="#" class="nav_haut" title="Utilisez MAJ+Click pour ouvrir le forum HistWar dans une nouvelle fenetre">forum</a> | <a href="#" class="nav_haut">chat</a> | <a href="#" class="nav_haut">contact</a></div>
</div>
<div id="roue"></div> <!-- Fin du header et de la nav haut -->
<!-- Menu de navigation vertical -->
<div id="menu_global">
<div id="langue"><a href="index.php" hreflang="fr"><img src="images/flag-french.jpg" alt="Version française" title="Version française" /></a> <a href="index.php" hreflang="en"><img src="images/flag-english.jpg" alt="English version" title="English version" /></a></div>
<div id="menu">
Actualité
<ul>
<li>· <a href="#" class="menu">Récentes</a></li>
<li> · <a href="#" class="menu">Archives</a></li>
<li>· <a href="#" class="menu">Newsletter</a></li>
<li>· <a href="dossier_presse.php" class="menu">Dossier Presse</a></li>
<li>· <a href="#" class="menu">Médaille d'Honneur</a></li>
</ul>
HW - Les Grognards
<ul>
<li>· <a href="#" class="menu">Présentation</a></li>
<li>· <a href="#" class="menu">Screenshots</a></li>
<li>· <a href="#" class="menu">Téléchargements</a></li>
</ul>
Autres Jeux
<ul>
<li>· <a href="#" class="menu">1806</a></li>
<li>· <a href="#" class="menu">La Grande Armée</a></li>
<li>· <a href="#" class="menu">Téléchargements</a></li>
</ul>
Ressources
<ul>
<li>· <a href="#" class="menu">Liens</a></li>
<li>· <a href="#" class="menu">Récits Historiques</a></li>
<li>· <a href="#" class="menu">Merveilleuses</a></li>
</ul>
</div>
<div id="boudinB"></div>
<div id="w3c"><a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" /></a></div>
</div> <!-- Fin de navigation vertical -->
<!-- Corps de la page -->
<div id="contenu">
<h1>Le jeu HistWar se présente ...</h1>
<p>bla bla bla bla</p>
</div>
<!-- Pied de page -->
<div id="footer">2001 - 2004 © JMM et son équipe - <a href="#">Copyright</a> | <a href="#">Mentions Légales</a> | <a href="#">Plan du Site</a> | <a href="#">Contact</a></div> <!-- Fin pied de page -->
</div>
</body>
<div id="page">
<!-- Header et menu de navigation du haut -->
<div id="header"></div>
<div id="haut">
<div id="date">Mardi 19 Octobre 2004</div>
<div id="nav_haut"><a href="index.php" class="nav_haut" rel="index">accueil</a> | <a href="#" class="nav_haut" title="Utilisez MAJ+Click pour ouvrir le forum HistWar dans une nouvelle fenetre">forum</a> | <a href="#" class="nav_haut">chat</a> | <a href="#" class="nav_haut">contact</a></div>
</div>
<div id="roue"></div> <!-- Fin du header et de la nav haut -->
<!-- Menu de navigation vertical -->
<div id="menu_global">
<div id="langue"><a href="index.php" hreflang="fr"><img src="images/flag-french.jpg" alt="Version française" title="Version française" /></a> <a href="index.php" hreflang="en"><img src="images/flag-english.jpg" alt="English version" title="English version" /></a></div>
<div id="menu">
Actualité
<ul>
<li>· <a href="#" class="menu">Récentes</a></li>
<li> · <a href="#" class="menu">Archives</a></li>
<li>· <a href="#" class="menu">Newsletter</a></li>
<li>· <a href="dossier_presse.php" class="menu">Dossier Presse</a></li>
<li>· <a href="#" class="menu">Médaille d'Honneur</a></li>
</ul>
HW - Les Grognards
<ul>
<li>· <a href="#" class="menu">Présentation</a></li>
<li>· <a href="#" class="menu">Screenshots</a></li>
<li>· <a href="#" class="menu">Téléchargements</a></li>
</ul>
Autres Jeux
<ul>
<li>· <a href="#" class="menu">1806</a></li>
<li>· <a href="#" class="menu">La Grande Armée</a></li>
<li>· <a href="#" class="menu">Téléchargements</a></li>
</ul>
Ressources
<ul>
<li>· <a href="#" class="menu">Liens</a></li>
<li>· <a href="#" class="menu">Récits Historiques</a></li>
<li>· <a href="#" class="menu">Merveilleuses</a></li>
</ul>
</div>
<div id="boudinB"></div>
<div id="w3c"><a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" /></a></div>
</div> <!-- Fin de navigation vertical -->
<!-- Corps de la page -->
<div id="contenu">
<h1>Le jeu HistWar se présente ...</h1>
<p>bla bla bla bla</p>
</div>
<!-- Pied de page -->
<div id="footer">2001 - 2004 © JMM et son équipe - <a href="#">Copyright</a> | <a href="#">Mentions Légales</a> | <a href="#">Plan du Site</a> | <a href="#">Contact</a></div> <!-- Fin pied de page -->
</div>
</body>
En ce qui concerne la CSS, en voici un extrait :
CODE
/* div contenant le menu vertical (choix langue + parchemin + bas du parchemin */
#menu_global{
width:155px;
background-color:#000000;
position:absolute;
}
#langue{
width:155px;
height:21px;
text-align:center;
padding:12px 0px 0px 0px;
background-image:url(../images/parchemin_haut.jpg);
background-repeat:no-repeat;
background-position:bottom;
}
#menu{
color:#8A0909;
font-size:0.7em;
font-style:italic;
font-weight:bold;
line-height:1.65;
padding:6px 0px 6px 8px;
background-image:url(../images/menu.jpg);
background-repeat:repeat-y;
}
#menu ul {
list-style-type: none;
margin-top:3px;
margin-bottom:10px;
}
#menu li {
list-style-type: none;
margin-left:-42px;
}
#boudinB{
height:27px;
padding:0px 0px 25px 0px;
background-image:url(../images/boudinB.jpg);
background-repeat:no-repeat;
}
#w3c{
text-align:center;
}
/* div contenant le contenu */
#contenu{
width:615px;
padding:25px 20px 30px 0px;
position:relative;
left:165px;
}
/* footer */
#footer{
width:570px;
font-size:0.7em;
text-align:center;
margin-left:auto;
margin-right:auto;
background-color:#2C0606;
padding:4px 5px 5px 10px;
}
#menu_global{
width:155px;
background-color:#000000;
position:absolute;
}
#langue{
width:155px;
height:21px;
text-align:center;
padding:12px 0px 0px 0px;
background-image:url(../images/parchemin_haut.jpg);
background-repeat:no-repeat;
background-position:bottom;
}
#menu{
color:#8A0909;
font-size:0.7em;
font-style:italic;
font-weight:bold;
line-height:1.65;
padding:6px 0px 6px 8px;
background-image:url(../images/menu.jpg);
background-repeat:repeat-y;
}
#menu ul {
list-style-type: none;
margin-top:3px;
margin-bottom:10px;
}
#menu li {
list-style-type: none;
margin-left:-42px;
}
#boudinB{
height:27px;
padding:0px 0px 25px 0px;
background-image:url(../images/boudinB.jpg);
background-repeat:no-repeat;
}
#w3c{
text-align:center;
}
/* div contenant le contenu */
#contenu{
width:615px;
padding:25px 20px 30px 0px;
position:relative;
left:165px;
}
/* footer */
#footer{
width:570px;
font-size:0.7em;
text-align:center;
margin-left:auto;
margin-right:auto;
background-color:#2C0606;
padding:4px 5px 5px 10px;
}
Comme vous pouvez le voir sur la page index.php, le menu de gauche (menu_global) recouvre le footer. Or, vous l'aurez bien compris, je souhaiterai que le footer se mette en dessous du menu_global quand ce dernier est plus long que le contenu ou en dessous du contenu quand ce dernier est plus long que le menu_global.
Pour l'instant donc, le menu étant en position:absolute, le div "page" n'en tient pas compte pour se fixer sa longueur. Je suppose donc que c'est pour ça que le menu recouvre le footer.
J'ai essayé une autre possibilité :
Mettre le menu en position:relative et le contenu en position:absolute, mais du coup, le footer ne tient pas compte de la longueur du contenu pour se placer. En gros, c'est le même problème qu'au dessus sauf qu'au lieu que ce soit le menu qui pose souci, c'est le contenu.
Donc, dans une logique implacable, je tente de placer les 2 div en position:relative ... mais là, le div contenu se place en dessous du div menu_global. Même en donnant des positions grâce aux attributs left et top, rien à faire. Normal me direz vous ?? oui ... mais je débute, alors j'ai encore du mal à comprendre toutes les subtilités.
Et donc voilà ... et je bidouille à droite à gauche mais à force, je sens que je perds toute logique et j'ai bien peur de faire difficile alors que c'est tout simple.
Il y a surement un truc qui m'échappe au niveau de la logique des positionnements des div mais je ne vois pas où. La nuit porte conseil dit-on ? Le hub aussi j'espère ! :yoot: