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 15/02/2011, 23h33   #1
Candidat au titre de Membre du Club
 
Inscription : avril 2008
Messages : 47
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 47
Points : 11
Points : 11
Par défaut Centrage de plusieurs blocks flottants

Bonjour,

J'ai une div qui contient des blocks qui flottent. J'aimerais pouvoir centrer tous les blocks de manière automatique et je n'y arrive pas.

Le HTML :
Code :
1
2
3
4
5
6
7
 
<div id="cadre">
	<p>Salut la compagnie !</p>
	<p>Encore un mot complètement nouveau</p>
	<p>Plouf</p>
</div>
</html>
Le CSS :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
body {
font-size: 12px;
font-family:verdana,arial,sans-serif;}
 
div#cadre {
width:600px; 
height:600px;}
 
p {
font-size: 1em;
float:left;
padding:.5em; 
margin:auto;}
Je ne sais pas trop par quel bout prendre le problème. Pour le moment, j'essaie de mettre une marge auto à mes <p>, mais ça ne marche pas.

Avez vous des suggestions ?

Merci

PS : j'ajoute un schéma pour que tout soit plus clair
Images attachées
Type de fichier : jpg photo.JPG (113,8 Ko, 7 affichages)
vincent.le est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2011, 09h13   #2
Rédacteur/Modérateur
 
Homme Jérome Debray
Responsable de projet
Inscription : mai 2009
Messages : 627
Détails du profil
Informations personnelles :
Nom : Homme Jérome Debray
Âge : 32
Localisation : France

Informations professionnelles :
Activité : Responsable de projet
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2009
Messages : 627
Points : 3 064
Points : 3 064
Salut, utilise le margin pour centrer ton <div id="cadre"> :

Code css :
1
2
3
4
5
6
 
div#cadre {
	width:600px; 
	height:600px;
	margin:0px auto;
}
ornitho13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2011, 09h16   #3
Candidat au titre de Membre du Club
 
Inscription : avril 2008
Messages : 47
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 47
Points : 11
Points : 11
Bonjour,

Cela centre la div#cadre dans la page, ce n'est pas ce que je recherche.

J'ai ajouté un schéma pour mieux expliquer.
vincent.le est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2011, 09h18   #4
Rédacteur/Modérateur
 
Homme Jérome Debray
Responsable de projet
Inscription : mai 2009
Messages : 627
Détails du profil
Informations personnelles :
Nom : Homme Jérome Debray
Âge : 32
Localisation : France

Informations professionnelles :
Activité : Responsable de projet
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2009
Messages : 627
Points : 3 064
Points : 3 064
oui je viens de voir cela

et bien essaye ceci :
Code css :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
div#cadre {
	width:600px; 
	height:600px;
	margin:0px auto;
	text-align:center;
}
 
p {
	font-size: 1em;
	display:inline-block;
	white-space: nowrap;
	margin:10px;
}

utilise un "white-space: nowrap;" afin de ne pas permettre le retour à la ligne.
ornitho13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2011, 09h51   #5
Candidat au titre de Membre du Club
 
Inscription : avril 2008
Messages : 47
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 47
Points : 11
Points : 11
Yes, ça marche !

Par contre, même si je mets margin:0px pour les <p>, j'observe des petites marges entre les <p> d'une même ligne. Ca ne me dérange pas, mais j'aimerais comprendre d'où ça vient. (cf capture d'écran).

Autre chose, ça ne marche pas très bien dans IE6 : tous les <p> sont remis à la ligne.
Images attachées
Type de fichier : png Capture d’écran 2011-02-16 à 09.45.29.png (107,9 Ko, 2 affichages)
Type de fichier : jpg Sans titre.JPG (106,3 Ko, 2 affichages)
vincent.le est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2011, 10h24   #6
Rédacteur/Modérateur
 
Homme Jérome Debray
Responsable de projet
Inscription : mai 2009
Messages : 627
Détails du profil
Informations personnelles :
Nom : Homme Jérome Debray
Âge : 32
Localisation : France

Informations professionnelles :
Activité : Responsable de projet
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2009
Messages : 627
Points : 3 064
Points : 3 064
En fait la propriété display:inline-block; est sensible au retour à la ligne de ta structure html, donc tu as 2 façons de faire:
- soit tu mets tous tes <p> sur la même ligne:
Code html :
1
2
 
<div id="cadre"><p>Salut la compagnie !</p><p>Encore un mot complètement nouveau</p><p>Plouf</p><p>Encore un mot complètement nouveau</p><p>Encore un mot complètement nouveau</p><p>Encore un mot complètement nouveau</p></div>
-soit tu rajoutes des commentaires:
Code html :
1
2
3
4
5
6
7
8
9
 
<div id="cadre">
	<p>Salut la compagnie !</p><!-- 
	 --><p>Encore un mot complètement nouveau</p><!-- 
	 --><p>Plouf</p><!-- 
	 --><p>Encore un mot complètement nouveau</p><!-- 
	 --><p>Encore un mot complètement nouveau</p><!-- 
	 --><p>Encore un mot complètement nouveau</p>
</div>

Enfin, il faut savoir que inline-block n'est pas compatible sous IE6
ornitho13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2011, 10h41   #7
Rédacteur/Modérateur
 
Avatar de Macmillenium
 
Homme
Inscription : mars 2008
Messages : 2 288
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 26
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : mars 2008
Messages : 2 288
Points : 3 205
Points : 3 205
Citation:
Envoyé par ornitho13 Voir le message
Enfin, il faut savoir que inline-block n'est pas compatible sous IE6
IE6 et 7 (uniquement sur les éléments de rendu block).
Étant donné que display:inline-block confère le layout, tu peux émuler ce comportement en déclarant un display:inline aux éléments P, entre commentaires conditionnels.
__________________
Je ne réponds pas aux questions techniques par MP.
Macmillenium est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2011, 14h41   #8
Candidat au titre de Membre du Club
 
Inscription : avril 2008
Messages : 47
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 47
Points : 11
Points : 11
Merci pour vos réponses.

Je n'ai pas compris ce que Macmillenium voulait dire, mais après des recherches, j'ai trouvé que IE6 a un comportement différent s'il s'agit de <p> ou de <a>.

Dans mon ca, si je remplace mes <p> par des <a>, tout marche bien pour Firefox et IE6.

Finalement, ma problématique était une problématique de nuage de tags.
vincent.le 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 13h40.


 
 
 
 
Partenaires

Hébergement Web