28172 sujets

CSS et mise en forme, CSS3

upload/1560970260-74518-sanstitre-1illustration.jpg Bonjour,

J'avais fait des recherches et avais trouvé une solution pour que :
j'ai une div container qui fait bandeau.
Elle est récurrente.
Elle contient des DIV en nombre variable (pour y insérer des images)
Le but étant que la largeur de ces div s'adaptent à la largeur disponible dans la DIV conteneur , qu'elles soient au nombre de 1 à N.
En conséquence, plus les images alignées sont nombreuses, plus elles sont petites.
Ceci sans avoir à créer de style pour chaque configuration.

J'ai trouvé un truc qui marche vachement bien :

<div class="imageetlegende g_colonnes">

	<div> 
		<div><img src="1.jpg"></div>
		<div> Image 1 </div>
	</div>


	<div> 
		<div><img src="2.jpg"></div>
		<div> Image 2 </div>
	</div>
.......

	<div> 
		<div><img src="N.jpg"></div>
		<div> Image N </div>
	</div>

</div>



.imageetlegende img{ width:auto; max-width:100%; border-radius:3px}

.g_colonnes {
	color:red;
	display: inline-flex;
	width:98%;
	padding-right:0}
.g_colonnes>div{
	background-color:yellow;
	max-width:98%;
	margin-right:10px;}


ET TOUT ALLAIT BIEN JUSQUE Là, mais que sous Firefox !!!!

Et en bonne buse ce n'est qu'après 4 semaines fastidieuse d'intégration d'images et de rédaction de texte que je me dis "ah mais tiens, et ça donne quoi avec IE ?"

et bien c'est tout pourri :
les div g_colonnes font bien 98% de la largeur, mais les div enfantes ne se redimmensionnent pas, ce qui fait qu'elles sont affichées à leur dimension d'origine.

quelqu'un voit t-il là où j'ai péché ?

PS : sur l'illustration 1 ce que j'obtiens avec 4 ou 2 images sou firefox
Modifié par kashlm (19 Jun 2019 - 20:51)
Bonjour,

il manque l'illustration et tu devrais faire un codepen ce serait plus simple pour t'aider.

Tu devrais éviter de mettre des largeurs en % pour les éléments de type block comme les div en pleine largeur car celle-ci vont déjà naturellement prendre toute la largeur disponible. Combiner les % avec les marges comme tu le fais va juste te créer des soucis car sur des petites résolution tes blocks vont devenir plus larges que 100% et déborder.
Modifié par bacasable (18 Jun 2019 - 09:11)
Modérateur
bacasable a écrit :
Autrement optimiser pour IE c'est se faire du mal aujourd'hui. Edge je comprendrai

https://caniuse.com/#search=inline-flex


ça dépend, selon les sites j'ai jusqu'à 25% de visites en IE, Edge ayant en général entre 50% et 70% de l'audience d'IE.

ça dépend des cibles
Modérateur
Sinon le pêché originel consiste à vouloir un conteneur flex qui ajuste les tailles de ses colonnes à son contenu, et un contenu image qui s'adapte à la taille du conteneur.

Dans cette situation il n'existe pas de bonne réponse, personne ne peut calculer la taille finale des colonnes, et le résultat sera forcément aléatoire d'un navigateur à un autre.

Il faut choisir l'un ou l'autre: fixer la taille des colonnes, ou fixer la taille des contenus.
Bonsoir,

pour préciser le pourquoi du comment et en vous remerciant pour votre temps qui m'est ci-dessus consacré :
1) bacasable / il manque l'illustration et tu devrais faire un codepen ce serait plus simple pour t'aider.

-visiblement le PNG ne passe pas

- codepen ? mais kesksékça ?

- en fait je fais un site pour moi et mes collègues, et nous sommes condamnés à des écrans 24' pour les années à venir

- en % parce que je me dis que mon bandeau s'il fait 100% , si j'y mets 5 div en ligne, automatiquement celles ci feront 20% automatiquement, si je n'en mets que 2 elles feront 50%, les images contenues devant s'adapter en dimension. (D'ailleurs c'est comme ça que le traduit Firefox)



2) _laurent :
Pourquoi des 98% en pagaille ?

ah oui pardon, c'est 100% (d'une iframe ais-je oublié de préciser plus haut) et ce n'est que sur
.g_colonnes
. les 98% sont les reliefs de ma journée de tests divers pour tenter de palier à mon problème

3) bacasable
Autrement optimiser pour IE c'est se faire du mal aujourd'hui. Edge je comprendrai.

On a <10 postes de travail, seuls 2 sont sous edge. je suis moi sous winows7 avec IE version 11 comme les 6/7 autres, sans possibilité de mise à jour.

Du coup j'ai regardé sur le lien que tu donnes, et pour iline-flex c'est vert.... mais kaki.
Pas très encourageant


4) kustolovic :
ça dépend, selon les sites j'ai jusqu'à 25% de visites en IE, Edge ayant en général entre 50% et 70% de l'audience d'IE.

- donc pour résumer mon problème mes bandeaux peuvent être regardés sur 2PC avec edge ou firefox sans problème

- sur 7 autres sous firefox : OK
mais comme je peux pas interdire d'utiliser iE à mes collègues (c'est que des vieux avec de vieilles habitudes, lorsque je suis arrivé ils editaient leur pages word avec un burin comme si l'écran était de marbre) : Pas OK, les images ne sontb pas réduite aux bonnes dimensions



5) kustolovic :
Dans cette situation il n'existe pas de bonne réponse, personne ne peut calculer la taille finale des colonnes, et le résultat sera forcément aléatoire d'un navigateur à un autre.
- si au final FF et edge le peuvent. je regarderais à l'occasion sur mac et autres navigateurs.

- bon ben en désespoir de cause je vais être obligé de taguer chaque bandeau "1 ; 2 ; 3 ... images"

pas très fin comme solution mais enfin...


En tout cas merci à vous trois et bonne soirée.

Kashlm
Modérateur
Salut,

Tu as regardé mon lien ? La solution que je propose ne fonctionne pas chez toi ?