Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > CSS
CSS Forum d'entraide sur l'utilisation des feuilles de style CSS. Avant de poster : Cours CSS, FAQ CSS, Galerie CSS
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/01/2012, 10h01   #1
Membre confirmé
 
Avatar de baggie
 
Inscription : octobre 2007
Messages : 676
Détails du profil
Informations personnelles :
Âge : 23
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2007
Messages : 676
Points : 225
Points : 225
Par défaut Positionnement de trois divs avec header et footer

Bonjour,

j'ai 3 divs à aligner horizontalement.
Chaque div est entouré de deux autres divs : un "header" et un "footer".

J'ai testé avec la propriété float: left; mais rien à faire, mes divs ne s'alignent pas comme il le faudrait

Mon code HTML :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
<div id="sous_content">
	<div class="home_cadre_header"></div>
	<div class="home_cadre">
	 ........
	</div>
	<div class="home_cadre_footer"></div>
	<div class="home_cadre_header"></div>
	<div class="home_cadre">
		..........
	</div>
	<div class="home_cadre_footer"></div>
	<div class="home_cadre_header_beige"></div>
	<div class="home_cadre_beige">
		............
	</div>
	<div class="home_cadre_footer_beige"></div>
</div>
Ma CSS :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
.home_cadre_header {
	background-image: url(images/cadre_home_header.png);
	background-repeat: no-repeat;
	width: 321px;
	height: 8px;
}
 
.home_cadre {
	background-image: url(images/cadre_home_bg.png);
	background-repeat: repeat-y;
	width: 321px;
	height: 248px;
	padding: 0 5px;
}
 
.home_cadre_footer {
	background-image: url(images/cadre_home_footer.png);
	background-repeat: no-repeat;
	width: 321px;
	height: 7px;
}
En mettant des float: left;, les "header" et "footer" ne restent pas collés à leur div principal. Du coup tout se décale.

Comment dois-je faire ?
baggie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2012, 12h05   #2
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 994
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 994
Points : 5 787
Points : 5 787
Envoyer un message via Skype™ à jreaux62
Bonjour,
Code :
margin:0; /* partout */
Le mieux étant d'avoir aussi :
Code :
html, body { width:100%; height:100%; margin:0; padding:0; }
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2012, 12h20   #3
Membre confirmé
 
Avatar de baggie
 
Inscription : octobre 2007
Messages : 676
Détails du profil
Informations personnelles :
Âge : 23
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2007
Messages : 676
Points : 225
Points : 225
Merci pour cette réponse.

Cela n'a rien changé malheureusement

je vais peut-être préciser la construction totale de la page :

> j'ai un header et un bandeau avec un menu principal, donc 3 divs les uns sous les autres.
> ensuite un wrapper qui englobe :
  • un div principal (disons de 500 de haut)
  • un autre div sur la droite composé de deux divs l'un sous l'autre (250 de haut chacun, la moitié du grand pour chaque)
> enfin : mes 3 divs à aligner horizontalement (les 2 premiers faisant la largeur totale du div principal et le dernier s'inscrivant parfaitement à la fois dans la colonne des deux divs de droite, et dans la ligne des 2 divs horizontaux.

Mon seul soucis vient de mes 3 divs du bas qui ne s'alignent pas comme il le faudrait.

Ma CSS (pour le positionnement) :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
 
#header {
 
}
/* Menu principal */
#main_menu {
	margin-top: 30px;
	height: 41px;
}
 
#bandeau {
	text-align: center;
}
/* contient les deux divs : le principal et celui de droite contenant les 2 petits divs */
#content {
}
 
#left_content {
	float: left;
	position: relative;
	margin-right: 10px;
	margin-bottom: 10px;
}
 
#right_content {
	float: left;
	position: relative;
}
 
/* contient les 3 divs horizontaux */
#sous_content {
 
}
 
/* tentative de regroupement de chaque "header + div + footer" en un seul div */
#a, #b, #c {
	float: left;
}
Euh, c'est compréhensible là ?

Sachant que mes divs contenus dans #a, #b et #c ont les classes de mon premier message.

Vous voyez comment faire ?

[EDIT] : problème résolu, je devais mettre en float: left; le div contenant #a, #b et #c.
baggie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2012, 14h28   #4
Membre actif
 
Avatar de Emyleen
 
Femme Emeline Dabée
Webmaster
Inscription : mars 2010
Messages : 136
Détails du profil
Informations personnelles :
Nom : Femme Emeline Dabée
Âge : 26
Localisation : France, Aveyron (Midi Pyrénées)

Informations professionnelles :
Activité : Webmaster
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mars 2010
Messages : 136
Points : 171
Points : 171
Bonjour!

Alors je n'ai pas hyper bien compris tout ce que tu as dit, mais le mieux serait d'avoir quelque chose comme ça :

Code html :
1
2
3
4
5
6
 
<div id="conteneurDeColonnes">
     <div id="colonneGauche" class="colonne"></div>
     <div id="colonneMilieu" class="colonne"></div>
     <div id="colonneDroite" class="colonne"></div>
</div>

Code css :
1
2
3
4
5
6
7
8
9
10
 
.colonne {
    display: inline-block;
    width: 200px;
    min-height: 300px;
    margin-right: 20px;
}
.colonne:last-of-type {
    margin-right: 0;
}

En espérant t'avoir aidé ^^
__________________
I want to break frite ~~ Chocolat....chocolat...CHOCOLAAAAAAAAAAT!!!
Emyleen est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h27.


 
 
 
 
Partenaires

Hébergement Web