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 27/07/2011, 17h07   #1
Nouveau Membre du Club
 
Inscription : juin 2009
Messages : 121
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 121
Points : 36
Points : 36
Par défaut Le background du conteneur disparait lorsque enfants sont en float

Bonjour,
Voila une div général avec un background qui contient 2 div ( une en float left et l'autre en right ) le problème est que l orsque je passe l'une des div en float le background disparait

html
Code :
1
2
3
4
5
6
7
8
9
10
11
			<div id = 'content_offre'>
				<div id = 'pic_offre'>
					<img src="img/Nemo01.jpg">
				</div>
				<div id = 'content_desc_offre'> 
					<div id = 'title_offre'>TITLE</div>
					<div id = 'reduc_offre'>reduc</div>
					<div id = 'redict_offre'>2B</div>
					<div id = 'desc_offre'></div>
				</div>
			</div>
et le css
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
39
40
41
42
43
44
45
46
47
48
 
#content_offre{
	width:520px;
	padding: 20px 20px 20px 20px;
	background-color:gray;
 
}
#content_desc_offre{
	width:345px;
	float:right;
}
 
 
#pic_offre img{
	display:block;
	float:left;
	width:164px;
 
}
 
#title_offre{
 
	width:315px;
	height:50px;
	text-align:center;
}
 
#reduc_offre{
	float:left;
	background-color:red;
	width:110px;
	height:50px;
	margin-left:20px;
	margin-right:20px;
}
 
#redict_offre{
	float:left;
	background-color:yellow;
	width:150px;
	height:54px;
}
 
#desc_offre{
	display:block;
	width:315px;
	margin-left:20px;
}
et voila le résultat
http://imageshack.us/photo/my-images/825/sansredy.png/
misakilou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2011, 20h38   #2
Rédacteur/Modérateur
 
Avatar de 12monkeys
 
Homme Dr. Peters
Webmaster
Inscription : novembre 2006
Messages : 3 618
Détails du profil
Informations personnelles :
Nom : Homme Dr. Peters
Âge : 35
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : Webmaster
Secteur : Service public

Informations forums :
Inscription : novembre 2006
Messages : 3 618
Points : 6 238
Points : 6 238
Bonjour

Ceci est un comportement normal. Voici un tutoriel pour résoudre ce problème : http://css4design.developpez.com/tut...flux-partie-2/

Mets un overflow:hidden sur ton conteneur.
__________________
Vous débutez dans la creation de sites web : les bases du html et débuter avec les CSS
Pas de MP pour des questions techniques ! Mode d'emploi du forum ; Règles ; Pensez à la balise code ; Pas de SMS !
Votez pour les messages qui vous ont aidés...
12monkeys est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 10h07   #3
Membre actif
 
Avatar de eckerdecker
 
Inscription : décembre 2009
Messages : 132
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : décembre 2009
Messages : 132
Points : 154
Points : 154
Je ne connais pas cette technique avec l'overflow:hidden sur le conteneur (je suis donc allé voir le lien que tu donnes 12monkeys) je ne suis pas un adepte des hacks css et feuilles ie-specific aussi je recommande l'utilisation du clear:both, qui a l’intérêt d'être cross-browser et qui surtout n'existe que dans ce but : rompre un flux d'éléments flottants et au passage rendre sa consistance au conteneur.
Grossièrement ça donne.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
			<div id = 'content_offre'>
				<div id = 'pic_offre'>
					<img src="img/Nemo01.jpg">
				</div>
				<div id = 'content_desc_offre'> 
					<div id = 'title_offre'>TITLE</div>
					<div id = 'reduc_offre'>reduc</div>
					<div id = 'redict_offre'>2B</div>
					<div id = 'desc_offre'></div>
				</div>
				<div style="clear:both"></div>
			</div>
Je le concède, cela ajoute une balise html. Mais dans le cas où l'élément clear est susceptible d'accueillir du contenu (un footer par exemple) l'inconvénient n'existe plus.

Note : je ne comprends pas bien le propos de ce tuto, qui semble dire que la propriété clear est archaïque, si c'est vraiment le cas qu'on m'explique.
eckerdecker est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 10h12   #4
Nouveau Membre du Club
 
Inscription : juin 2009
Messages : 121
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 121
Points : 36
Points : 36
j'ai utilisé ta methode avec le clear:both , et sa marche très bien

Merci
misakilou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 10h23   #5
Rédacteur/Modérateur
 
Avatar de 12monkeys
 
Homme Dr. Peters
Webmaster
Inscription : novembre 2006
Messages : 3 618
Détails du profil
Informations personnelles :
Nom : Homme Dr. Peters
Âge : 35
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : Webmaster
Secteur : Service public

Informations forums :
Inscription : novembre 2006
Messages : 3 618
Points : 6 238
Points : 6 238
Oui "l'ancienne méthode" est expliquée ici : http://css.developpez.com/tutoriels/...issement-flux/

Maintenant la méthode overflow ne me semble pas être un hack et je n'ai jamais eu de souci de compatibilité avec. Après tout dépend de ce qu'on veut faire : si on ne veut pas rajouter un balise inutile on peut parfaitement utiliser cette méthode...
__________________
Vous débutez dans la creation de sites web : les bases du html et débuter avec les CSS
Pas de MP pour des questions techniques ! Mode d'emploi du forum ; Règles ; Pensez à la balise code ; Pas de SMS !
Votez pour les messages qui vous ont aidés...
12monkeys 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 15h25.


 
 
 
 
Partenaires

Hébergement Web