HTML/CSS : Problème de "float"
Dynamix
Messages postés
202
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
alors voilà j'ai un petit problème sur lequel je m'arrache les cheveux depuis un petit moment.
En fait je souhaite faire un site avec :
Un menu à gauche en taille FIXE (250px de large).
Un corps juste à côté en taille VARIABLE (60%) pour que celui ci s'adapte à la résolution du visiteur.
Voici donc le code me permettant cela en html :
<div id="container">
<div id="menu_gauche_bg">
<div id="menu_gauche">
<a href="index.html" id="accueil" class="menu_gauche"></a>
<a href="index.html" id="structure" class="menu_gauche"></a>
<a href="index.html" id="activites" class="menu_gauche"></a>
<a href="index.html" id="accueil" class="menu_gauche"></a>
<a href="index.html" id="structure" class="menu_gauche"></a>
<a href="index.html" id="activites" class="menu_gauche"></a>
<a href="index.html" id="accueil" class="menu_gauche"></a>
<a href="index.html" id="structure" class="menu_gauche"></a>
<a href="index.html" id="activites" class="menu_gauche"></a>
</div>
</div>
<div id="body">
</div>
<div class="clear">
</div>
</div>
Le CSS :
#container {
background-image : url("images/container_bg.jpg");
background-repeat : repeat-y;
width : 100%;
}
#menu_gauche_bg {
background-image : url("images/carreau_gauche.jpg");
width : 250px;
float : left;
border-right : 2px solid pink;
}
#menu_gauche { padding-top : 100px; }
#body {
padding : 30px;
margin-top : 50px;
background-color : white;
margin-bottom : 50px;
margin-left : 50px;
float : left;
width : 60%
}
.clear { clear : both; }
Tout va à peu près bien mais lorsque je réduis la fenêtre (=quand la résolution est baissée) il arrive un moment où les deux blocs ne sont plus contenus dans le container (à cause de la taille du menu fixe, les deux blocs sont > 100%) et le #body se retrouve donc en dessous du fait de la propriété float : left.
J'ai essayé multitude de choses mais rien de vraiment fonctionnel.
Si quelqu'un voit comment faire ça bien proprement je suis preneur.
Merci d'avance
alors voilà j'ai un petit problème sur lequel je m'arrache les cheveux depuis un petit moment.
En fait je souhaite faire un site avec :
Un menu à gauche en taille FIXE (250px de large).
Un corps juste à côté en taille VARIABLE (60%) pour que celui ci s'adapte à la résolution du visiteur.
Voici donc le code me permettant cela en html :
<div id="container">
<div id="menu_gauche_bg">
<div id="menu_gauche">
<a href="index.html" id="accueil" class="menu_gauche"></a>
<a href="index.html" id="structure" class="menu_gauche"></a>
<a href="index.html" id="activites" class="menu_gauche"></a>
<a href="index.html" id="accueil" class="menu_gauche"></a>
<a href="index.html" id="structure" class="menu_gauche"></a>
<a href="index.html" id="activites" class="menu_gauche"></a>
<a href="index.html" id="accueil" class="menu_gauche"></a>
<a href="index.html" id="structure" class="menu_gauche"></a>
<a href="index.html" id="activites" class="menu_gauche"></a>
</div>
</div>
<div id="body">
</div>
<div class="clear">
</div>
</div>
Le CSS :
#container {
background-image : url("images/container_bg.jpg");
background-repeat : repeat-y;
width : 100%;
}
#menu_gauche_bg {
background-image : url("images/carreau_gauche.jpg");
width : 250px;
float : left;
border-right : 2px solid pink;
}
#menu_gauche { padding-top : 100px; }
#body {
padding : 30px;
margin-top : 50px;
background-color : white;
margin-bottom : 50px;
margin-left : 50px;
float : left;
width : 60%
}
.clear { clear : both; }
Tout va à peu près bien mais lorsque je réduis la fenêtre (=quand la résolution est baissée) il arrive un moment où les deux blocs ne sont plus contenus dans le container (à cause de la taille du menu fixe, les deux blocs sont > 100%) et le #body se retrouve donc en dessous du fait de la propriété float : left.
J'ai essayé multitude de choses mais rien de vraiment fonctionnel.
Si quelqu'un voit comment faire ça bien proprement je suis preneur.
Merci d'avance
A voir également:
- HTML/CSS : Problème de "float"
- Editeur html - Télécharger - HTML
- Espace html ✓ - Forum HTML
- [**] Balise pour un espace vide en hml. Merci ✓ - Forum Webmastering
- /Var/www/html/index.html ✓ - Forum Linux / Unix
- Html download - Télécharger - HTML
10 réponses
Essaye de fouiller la dedans, regarde ce qui ressemble le plus à ton site et compare les CSS...
Tu arriveras bien a trouver ton erreur ;)
Tu arriveras bien a trouver ton erreur ;)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bon alors voilà j'ai trouvé le cas qui me correspondait :
http://www.alsacreations.com/static/gabarits/modele06.html
J'obtiens ce que je veux...sous firefox
IE quand j'enlève le float : left du body il sait plus calculer 60% et me fait un bloc bien plus petit que ce qu'il devrait être.
IE ou l'éternel problème...je sais même pas comment je vais pouvoir mettre un correctif.
En tout cas je te remercie pour ces gabarits, ça peut s'avérer très pratique.
http://www.alsacreations.com/static/gabarits/modele06.html
J'obtiens ce que je veux...sous firefox
IE quand j'enlève le float : left du body il sait plus calculer 60% et me fait un bloc bien plus petit que ce qu'il devrait être.
IE ou l'éternel problème...je sais même pas comment je vais pouvoir mettre un correctif.
En tout cas je te remercie pour ces gabarits, ça peut s'avérer très pratique.
Pas de problème... De mon côté, j'ai arrété de regarder à quoi ressemble mes sites avec IE, je n'ai jamais ce que je veux. Je préviens juste mes visiteurs de prendre FF3.6 ou Chrome : eux au moins sont conformes aux standards et intègrent le CSS3 \o/
Bonjour,
1- Je ne comprends pas pourquoi déjà tu as "#menu_gauche_bg" et "#menu_gauche". Tu peux en supprimer une et appliquer ton "padding-top" sur celle qui reste.
2- Essaye ça comme CSS et dis moi si ça règle ton problème:
#body {
padding : 30px;
margin:50px 0 50px 250px;
background-color:white;
}
1- Je ne comprends pas pourquoi déjà tu as "#menu_gauche_bg" et "#menu_gauche". Tu peux en supprimer une et appliquer ton "padding-top" sur celle qui reste.
2- Essaye ça comme CSS et dis moi si ça règle ton problème:
#body {
padding : 30px;
margin:50px 0 50px 250px;
background-color:white;
}