Bonjour à tous,
Après un fouillage sur tout le web, dans divers forum et tutos, à la recherche de comment créer un design extensible en hauteur, je tombe sur ce site, et ses explications.
La je me dis ok, c'est bon, voila ma solution :
html et body à height : 100%.
Je test, verdict : non, encore un souci. Je recherche à nouveau. Bon, peut-être en appliquant un min-height de 100% à mon élément alors...toujours pas...
Alors, désolé pour le enième post sur les design extensible, je sais qu'il ya des tuto sur ce site et partout ailleurs, je ne compte même plus combien j'en ai lu se rapportant à la hauteur et aux design fluide, et rien à faire, ca ne veut pas, et la je craque !!
Alors voila le topo :
Mise en forme xhtml du site :
Code css :
Alors :
Comme vous le voyez, la bannière flotte à gauche, pour permettre à l'extension de venir se placer sur sa droite.
De même, le menu flotte à gauche pour laisser le corps venir sur sa droite.
Dès maintenant il y a un problème : en effet, même s'il n'y a rien dans le contenu, le menu de taille 100% va faire un scroll sur la page : il aura la même taille que la page, et se décalera sur le bas à cause de la bannière...
Ensuite, autre problème : si le contenu dépasse de la page, le menu, magré sa min-height : 100% ne s'étend pas...
Et, chose bizarre : j'applique des bordures à mes différents <div> ainsi qu'à mes éléments <html> et <body> :
-si html et body sont en height 100%, comme dit plus haut, le menu dépasse de la page malgré le fait que le contenu soit vide (à cause de la bannière) : mon cadre body et html font la taille de la page, le menu dépasse...alors que techniquement, il est dans body et dasns html....
-Si html et/ou body sont en min-height 100%, alors cette fois body et html prenne bien tout en compte, mais le menu ne fera plus que la taille du texte qu'il contient.
Est-ce que quelqu'un pourrait me dire comment remédier à ces problèmes ? Ou une piste, un contournement, quelque chose...?
Ou même me dire que je ne suis qu'un abr***, car ce genre de chose a déja été expliqué X fois, et qu'il faudrait que j'ouvre les yeux....et me filer les liens !!
Merci d'avance à tous ceux qui voudront bien m'éclairer.
Modifié par Paracétamol (16 Feb 2011 - 04:07)
Après un fouillage sur tout le web, dans divers forum et tutos, à la recherche de comment créer un design extensible en hauteur, je tombe sur ce site, et ses explications.
La je me dis ok, c'est bon, voila ma solution :
html et body à height : 100%.
Je test, verdict : non, encore un souci. Je recherche à nouveau. Bon, peut-être en appliquant un min-height de 100% à mon élément alors...toujours pas...
Alors, désolé pour le enième post sur les design extensible, je sais qu'il ya des tuto sur ce site et partout ailleurs, je ne compte même plus combien j'en ai lu se rapportant à la hauteur et aux design fluide, et rien à faire, ca ne veut pas, et la je craque !!
Alors voila le topo :
Mise en forme xhtml du site :
<div id='banniere'></div>
<div id='extend_ban'></div>
<div id='menu'>Mon menu</div>
<div id='corps'>Mon contenu</div>
Code css :
/*
*Donc comme prévu, on met les conteneur à 100%
*/
html, body
{
width : 100% ;
height : 100%;
margin : 0px;
padding : 0px;
}
/*
*La bannière rendu extensible :
*banniere prend une image qui ne se repete pas
*et extend_ban repète la fin de la bannière
*/
#banniere
{
width : 699px ;
height : 100px ;
background : url('../images/banniere.jpg') no-repeat ;
float : left ;
}
#extend_ban
{
width : auto ;
height : 100px ;
background : url('../images/extend_ban.jpg') repeat-x ;
margin-bottom : 00px ;
}
/*
*L'élément qui me pose problème
*/
#menu
{
clear : both;
min-height : 100%;
float : left;
width : 210px;
background-color : white ;
color : black ;
}
/*
*Et le corps pour finir
*/
#corps
{
margin-top : 10px;
margin-left : 220px;
height : auto;
width : auto;
background-color : white ;
}
Alors :
Comme vous le voyez, la bannière flotte à gauche, pour permettre à l'extension de venir se placer sur sa droite.
De même, le menu flotte à gauche pour laisser le corps venir sur sa droite.
Dès maintenant il y a un problème : en effet, même s'il n'y a rien dans le contenu, le menu de taille 100% va faire un scroll sur la page : il aura la même taille que la page, et se décalera sur le bas à cause de la bannière...
Ensuite, autre problème : si le contenu dépasse de la page, le menu, magré sa min-height : 100% ne s'étend pas...
Et, chose bizarre : j'applique des bordures à mes différents <div> ainsi qu'à mes éléments <html> et <body> :
-si html et body sont en height 100%, comme dit plus haut, le menu dépasse de la page malgré le fait que le contenu soit vide (à cause de la bannière) : mon cadre body et html font la taille de la page, le menu dépasse...alors que techniquement, il est dans body et dasns html....
-Si html et/ou body sont en min-height 100%, alors cette fois body et html prenne bien tout en compte, mais le menu ne fera plus que la taille du texte qu'il contient.
Est-ce que quelqu'un pourrait me dire comment remédier à ces problèmes ? Ou une piste, un contournement, quelque chose...?
Ou même me dire que je ne suis qu'un abr***, car ce genre de chose a déja été expliqué X fois, et qu'il faudrait que j'ouvre les yeux....et me filer les liens !!
Merci d'avance à tous ceux qui voudront bien m'éclairer.
Modifié par Paracétamol (16 Feb 2011 - 04:07)