Ok, c'est parti pour une réexplication sur les menus
Alors, pour le bloc menu, il faut le placer avant le bloc qu'il collera, c'est à dire le bloc corps dans l'exemple précédent (le bloc menu colle le bord gauche ou droite du bloc corps).
On va aussi faire un récapitulatif des blocs que l'on avait dans l'exemple précédent:
On a un bloc général appelé "all" qui contient tout les autres et qui impose une largeur maximale à tout les autres blocs qui est de 800 pixels.
- Code:
-
div#all
{
border: 2px dashed yellow;
width: 800px;
height: 750px;
margin: auto;
margin-bottom: 20px;
}
On a un bloc Header de 750 pixels de large et qui est centré dans le bloc all (donc il y a un espace de 25 px à gauche et à droite de lui). Le bloc header impose aussi un espace de 20 pixels au dessus de lui.
- Code:
-
div#header
{
border: 2px dashed yellow;
background-image: url("../images/usa1.jpg");
width: 750px;
height: 320px;
margin: auto;
margin-top: 20px;
margin-bottom: 20px;
}
Voilà, ce sont les deux blocs qu'il fallait qu'on récapitule.
Donc pour les blocs qui suivent, on sait qu'il y a une restriction : C'est qu'ils ne pourront pas dépasser 800 pixels de largeur.
Si l'on veut placer un menu à gauche ou à droite d'un autre bloc, il faudra qu'on lui mette une largeur inférieur à 800 pixels et il faudra aussi compter la place que prendra l'autre bloc contre lequel il sera collé.
Disons que l'on souhaite un menu d'une largeur de 150 pixels et qui soit à gauche avec un espace de 25 pixels pour être aligné au header. On mettra en CSS un float: left;, un width: 150px; et un margin-left: 25px;
Donc en comptant la marge gauche de 25pixels et la taille du bloc menu de 150 pixels, il restera 800-175 pixels soit 625 pixels pour l'autre bloc.
On va donc pouvoir faire un bloc corps avec un width: 625px; mais on veut aussi une marge à droite pour que ce bloc soit aligné au header, donc on mettra un width: 600px; et un margin-right: 25px;
Et voilà, on a notre menu, mais ils seront invisibles si on ne leur pas une hauteur minimale, il faudra donc ajouter au menu et au corps un min-height: 300px; par exemple.
Si l'on veut détacher le menu et le corps de page du header, on pourra mettre à ces deux blocs la propriété margin-top: 20px; par exemple.
Voilà, je voudrais savoir si tu as un peu mieux compris ?