Bonjour les rois du CSS
En HTML 5
Je cherche à mettre dans une page n'ayant rien que le BODY (pas de div tablble <p> etc...)
a l’exception du DIV de la page qui est

<div class='centre2blanc' >
toute ma page
</div>

Et son CSS

div.centre2blanc { top:0px;height :auto;width :auto; max-width :900px; margin :auto; text-align :center; }


des DIV qui doivent avoir cette forme:

ils font tous environ 300 pixels et contiennent tous
un texte centré dans le div
en dessous une image centré dans le div, dont la taille est de 250px
en dessous un texte centré dans le div

Voila et bien sur j'en ais une dizaine par page et ils doivent étre réactifs à la taille d'écran
Merci de votre aide Smiley cligne
Bonjour Jean Pierre, Evelyne ou Christele je sais plus trop Smiley smile

Pourquoi n'utilises-tu pas boostrap ? cela te permettrais facilement d'avoir un rendu tel que tu cherche.
Bonjour messieurs dames,

JENCAL a écrit :
Pourquoi n'utilises-tu pas boostrap ?

En d'autres termes construire une centrale nucléaire pour allumer une ampoule Smiley cligne

A brut pour point je pencherais plus pour un modèle de boites flexibles (flexbox) ou encore plus simplement des blocs dont tu fixerais la largeur.

Petite question, ce genre de DIV est-il unique à la page ? Un exemple sur Codepen ou autre permettrait de mieux visualiser l'effet recherché.

Dans tous les cas, le "TOP: 0px" ne fonctionnera pas tant que la position ne sera pas fixée (static) ou rendue absolue (absolute).
Modifié par Greg_Lumiere (02 Nov 2015 - 13:59)
oui mais ce qu'il veut existe déja, pourquoi réinventé la roue, l'ampoule que tu métaphorise peut devenir bien plus grande par la suite.
Modifié par JENCAL (02 Nov 2015 - 13:36)
JENCAL a écrit :
pourquoi réinventer la roue ?

Pour la maitriser l'ami.

Par là je ne veux pas dire que tu ais tord dans ta recommandation.

Ce qui m'intrigue c'est que Christelle définie sont problème en tête d'article comme étant unique : "la DIV de ma page". Et là un pléthore de questions me vient à l'esprit comme de savoir si cette page dispose d'un menu, d'une en-tête, d'un pied de page, d'articles sus ou sous-jacents etc car il semble qu'elle s'oriente vers un positionnement statique (TOP:0) ou absolu.

Et puis si les images font systématiquement 250 pixels de large (et si rien ne doit venir à gauche ou à droite de ces images) pourquoi ne pas fixer la taille de la DIV ?

En fait le problème est fort mal détaillé. Un morceau de code (via Codepen par exemple) nous aiderait certainement à y voir plus Claire...heu... Christelle.

Pour l'instant j'ai plutôt ceci en tête :
<DIV>
<P>texte centré</P>
<IMG WIDTH="250">
<P>un paragraphe de texte</P>
</DIV>

avec en Css ceci:

DIV {WIDTH:300PX;}
DIV IMG {MARGIN:AUTO;}
DIV P:FIRST-CHILD {TEXT-ALIGN:CENTER;}
Etc et c'est Terra !
Cet exemple sur Codepen.io
Modifié par Greg_Lumiere (02 Nov 2015 - 14:00)
Greg_Lumiere a écrit :

En fait le problème est fort mal détaillé. Un morceau de code (via Codepen par exemple) nous aiderait certainement à y voir plus Claire...heu... Christelle.

je suis bien d'accord.
personnellement j'ai cru qu'il/elle voulait faire du mobile. d'où mon 'utilise bootsrap'
Vous êtes trop sympa,
JENCAL ,je suis un puriste, qui écrit son code, j'ais horreur de ne pas maîtriser mon code !
et encore plus horreur d'utiliser du jquery ou autres usines a gaz qui utilisent 60 lignes incompréhensibles pour écrire toto à l'écran !
Du reste j'ai écrit plusieurs articles "Ajax en Clair" sur developpez.com qui ont eu un vrais succès car ils montraient clairement le mécanisme AJAX !
Voila pourquoi ta solution dont je comprend très bien l’efficacité et le sérieux, ,ne représente pas ce que je recherche,mais mille mercis à toi d'avoir pris ce temps pour me répondre !

Greg_Lumiere a toi également mille mercis , excuses moi, du temps , je suis en train de faire une page avec ta solution,et tester s'il sera responsive !
je reviens dans à peine une heure te dire si tout est OK !

A vous deux, je suis Christele le pseudo des patrons de fox-infographie.com (Evelyne et Jean-Pierre Bruneau) Smiley cligne
Christele a écrit :
je reviens dans à peine une heure te dire si tout est OK !
Fais donc... Smiley cligne

Christele a écrit :
A vous deux, je suis Christele le pseudo des patrons de fox-infographie.com (Evelyne et Jean-Pierre Bruneau) Smiley cligne
Haaaaaaaa !
Je dois avouer que c'est déstabilisant. Finalement doit-on te conjuguer au féminin ou au masculin ?! (pas besoin de répondre à ça)

En passant, les media queries te seront sûrement d'un grand secours alors...
Ha oui, l'usage d'objets flottants. Bonne idée si Christele maitrise l'attribut Clear...

Mais à ce compte je reste persuadé que l'usage de boites flexibles rendrait la maintenance plus aisée car un Clear mal placé et c'est la cacahuète qui bouche le tuyau.

Float ou Flex de toute façon il faudra probablement prévoir une alternative si il a un besoin de rétrocompatibilité (je pense ici à I.E. et son fameux layout)
Modifié par Greg_Lumiere (02 Nov 2015 - 15:10)
Voila moi j'ais tout mis en un (mélange de vos idées Smiley cligne

Cela donne http://www.fox-infographie.com/mesdiv.htm
Tout est OK pour moi, sauf que mes DIV ne sont pas centrés dans le DIV Gle de 900px ?
et ça je ne sais pas faire , si non sa marche partout tablettes smartphone etc !! MERCI
Je mets résolu mais si de façon simple vous me centrez mes petits DIV dans le général ce serait TOP Smiley cligne


<!DOCTYPE html>
<html lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>test christele</title>
<style type="text/css">
div.centre2blanc {height: auto;width: auto;max-width: 900px;margin: auto;text-align: center;}
div.content{ width: 300px;  border: 1px solid black; text-align: center; padding: 6px; float:left; margin:5px 0px 0px 5px;}  
div p:first-child {  text-align:center;  font-weight:bold;}
div p:last-child{  width:250px;  margin:.5em auto 1em auto;}
/* ____________________media1024______________________ */
@media screen and (max-width: 1024px) {
div.centre2blanc {height : auto;width : auto;max-width : 90%;margin : 22px ;text-align : center;}
}
/* __________________________media 640_____________________ */
@media (max-width:640px) {
body, element1, element2 {width : auto;margin : 0;padding : 0;}
img,blockquote, pre, textarea, input, iframe, object, embed, video {max-width : 100%;}
img {height : auto;width : auto;box-sizing : border-box;}
textarea, pre, samp {overflow-wrap : break-word;hyphens : auto;}
pre, samp {white-space : pre-wrap;}
element1, element2 {float : none;width : auto;}
.hide_mobile {display : none !important ;}
body:before {content : "Version mobile du site";display : block;color : #999999;text-align : center;font-style : italic;}
div.centre2blanc {height : auto;width : auto;max-width : 90%;margin : 22px ;text-align : center;}
}
</style>
</head><body>
<div class="centre2blanc">


<div  class="content"><p><b>Titre image</b><br /></p>
<img src="forum/mesdiv.jpg" alt="" />
<p>Un texte expliquant l'image </p>
</div>
<div  class="content"><p><b>Titre image</b><br /></p>
<img src="forum/mesdiv.jpg" alt="" />
<p>Un texte expliquant l'image </p>
</div>
<div  class="content"><p><b>Titre image</b><br /></p>
<img src="forum/mesdiv.jpg" alt="" />
<p>Un texte expliquant l'image </p>
</div>
<div  class="content"><p><b>Titre image</b><br /></p>
<img src="forum/mesdiv.jpg" alt="" />
<p>Un texte expliquant l'image </p>
</div>
<div  class="content"><p><b>Titre image</b><br /></p>
<img src="forum/mesdiv.jpg" alt="" />
<p>Un texte expliquant l'image </p>
</div>
<div  class="content"><p><b>Titre image</b><br /></p>
<img src="forum/mesdiv.jpg" alt="" />
<p>Un texte expliquant l'image </p>
</div>

<br /></div>
</body></html>
C'est périlleux de vouloir centrer un flottant (si tu parles bien des div.content).

Je reste convaincu qu'il serait préférable d'appliquer un DISPLAY:FLEX sur .centre2blanc.

Ça devrait valoir le coût d'essayer...

Avant que le modèle de boîtes flexibles se soit démocratisé j'utilisais pour le même résultat un affichage en inline-block qui permet de gérer des espacements égaux entres les "enfants" et l'adaptabilité automatique par rapport à l'espace d'affichage disponible. Par contre, comme le souligne R. Goeter, il ne faut aucun espacement ou retour à la ligne entre les balises à l'intérieur du "parent" ; ceux-ci sont à imbriquer dans des balises de commentaire le cas échéant.

Pour en revenir aux boites flexibles j'ai été confronté au même problème que toi. Il me fallait l'affichage d'un calendrier sur 4 colonnes maximum et 1 non tronquée au minimum. Le modèle de boites flexibles et l'efficacité des media queries rendent l'affichage parfaitement symétrique et adaptatif.

A toi de voir Smiley smile
Bonjour,
pour centrer tes éléments, remplace le float:left de tes "div.content" par display:inline-block;

Comme leur conteneur ".centre2blanc" possède déjà la propriété "text-align:center;", ses enfants seront centrés.
loicbcn a écrit :
Bonjour,
pour centrer tes éléments, remplace le float:left de tes "div.content" par display:inline-block;


+1
loicbcn a écrit :
Bonjour,
pour centrer tes éléments, remplace le float:left de tes "div.content" par display:inline-block;

Comme leur conteneur ".centre2blanc" possède déjà la propriété "text-align:center;", ses enfants seront centrés.


Trop TOP et trop simple c'est corigé et ça marche (voir mon lien Smiley cligne
Je ne pouvais pas avoir meilleur réponse à ma question !