Bonjour à toutes et tous,
Je me permets d'ouvrir un nouveau sujet concernant la gestion des flexbox. J'ai passé plusieurs jours à chercher parmi les sujets, sur cette plateforme et ailleurs, pour résoudre mon problème.
Mon niveau en HTML et CSS est plutôt novice. Mais dans le cadre des mes fonctions, je suis amené à travailler le site web d'un de nos clients. J'ai pu, à l'aide de tutos, de cours à distance et des nombreux sujets sur la toile, concevoir quelque chose de valable. Du moins je l'espère.
Voici l'adresse du site provisoire. [URL="http://upblinds.toile-libre.org/"]
Le client souhaiterait en faire un site responsive, je dois donc veiller à ce qu'il s'adapte à toutes les plateformes et tous le sens de lecture. Et c'est là que les romains s'empoignent. Pour ce faire, j'ai estimé que les flexbox constituaient un moyen judicieux pour y parvenir.
Mais... je ne parviens pas à fixer quelques contraintes essentielles.
Voici d'abords les codes en question d'une de mes balises contenant des images.
Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <div id="bloc-3photos"> <img id="photos01" src="images/stor-venit-lavabo.jpg" alt="store venitien"/> <img id="photos02" src="images/stor-bat-sdb.jpg" alt="store bateaux"/> <img id="photos03" src="images/pan-jap-tab.jpg" alt="panneaux japonais"/> </div>
Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
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 #bloc-3photos { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; margin-top: 100px; } #photos01 { flex-grow: 1; flex-shrink: 0; flex-basis: auto; margin-top: 7px; margin-bottom: 7px; margin-right: 7px; margin-left: 7px; } #photos02 { flex-grow: 1; flex-shrink: 0; flex-basis: auto; margin-top: 7px; margin-bottom: 7px; margin-right: 7px; margin-left: 7px; } #photos03 { flex-grow: 1; flex-shrink: 0; flex-basis: auto; margin-top: 7px; margin-bottom: 7px; margin-right: 7px; margin-left: 7px; }
Le souci se manifeste sur des résolutions plus petites ainsi que sur les mobiles. En clair, mes images devraient êtres alignées horizontalement par 3. L'idée est de garder cet alignement de 3 pour tout ce qui est affichage horizontal. Et pour les affichages verticaux, comme sur mobile, on passe sur un alignement vertical en colonne. Et les images devraient occuper toute la largeur de l'écran en conservant les proportions hauteur/largeur.
Pour l'instant, ça ne donne pas exactement ce que je cherche, et les comportements varient selon la résolution et le type de support. Si sur écran pc cela semble réagir selon ce que je cherche, il en va tout autrement des mobiles (tablette et smartphone) Sur mobile par exemple, les images se déforment en largeur alors que sur pc elles conservent leurs proportions.
Pour info, j'ai bien placé la balise <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> dans le head.
Une aide me serait bien précieuse.
Merci d'avance.
Partager