Le premier problème est qu'il y a toujours une marge blanche autour des images, comme une sorte de cadre. Le deuxième et principal problème est que ce tableau ne s'adapte pas du tout à la taille des écrans, en particulier les tablettes/téléphones en mode portrait. Je cherche le moyen de tronquer les images au centre de sorte à ce que chaque image occupe une demi-longueur et une demi-largeur de l'écran, quelles que soient ses dimensions.
Pourtant utiliser <table> pour mettre en page tes images ? c'est réservé aux donnée tabulaires. Un inline-block, une liste à puces ou mieux le modèle flexbox serait la meilleurs solution (et plus simple)
Est-ce du à une contrainte ou juste une limite de compétence ? (ne le prend pas mal hein )
merci pour ta réponse. Effectivement, je n'ai pas beaucoup étudié le CSS, je suis donc novice dans le domaine. Après recherche d'informations à propos du modèle flexbox, il paraît en effet plus judicieux que l'utilisation de <table>.
Cependant, cela ne règle ni les problèmes de marges blanches, ni les problèmes de redimensionnement.
Merci pour les liens, j'ai réussi à enlever les marges blanches et à positionner les images selon la taille d'écran. Ce qu'il me reste à faire est de tronquer les images afin qu'elles s'adaptent aux dimensions de l'écran. Voilà ce que j'ai actuellement sur une tablette en mode portrait:
me permet de supprimer les marges blanches que j'avais autour des images, et de placer les images aux 4 coins. Pour illustrer, voici le résultat du code précédent après avoir supprimé les deux
position: absolute;
:
PS: la modification du zoom n'est pas la cause de l'affichage, le zoom par défaut donne le même résultat
Ensuite, j'ai étudié la documentation fournie par Lucky13 avec attention, et je l'ai suivie. Mais évidemment, il fallait que je l'adapte à ce que je recherche, et le
position: absolute;
est la seule solution que j'ai trouvée afin de positionner correctement les images. Je pense ne pas être loin de la solution, le principal problème pour moi reste de tronquer les images selon la taille de l'écran.
Dans ce cas, pars plutôt sur ça : https://jsfiddle.net/0q2bvf2e/ J'ai repris le code de Lucky13 et forcé les blocs à faire 50% de large et 50% de haut ("vh" est une unité particulière, qui signifie "viewport height", 100vh = la hauteur totale du viewport). Est-ce que ça ressemble à ce que tu cherches à faire ?
Pourquoi je te suggère ça ? Parce que position: absolute, s'il paraît simple, est en fait très complexe, et peut avoir des conséquences agaçantes. Dans ton cas, as-tu essayé d'ajouter un autre élément à ta page ? Si oui, tu as dû remarqué qu'il se plaçait tout en haut, car les deux éléments en absolu sont comme éthérés, ils n'interviennent plus dans le flux de la page et n'ont plus aucune influence sur les autres éléments.
Pas d'aide concernant le code par MP, le forum est là pour ça :)
Merci pour ta réponse, j'ai testé ta solution, mais ça ne marche pas. Les images sont à nouveau toutes alignées sur la gauche sur mon PC. Sur tablette, les images sont aux 4 coins mais il y a une bande blanche en dessous de chacune.
Est-il si gênant d'utiliser "position: absolute;" ? Je ne l'applique qu'à mes 4 images. De plus, j'imaginais plutôt tronquer les images au centre (c'est à dire rogner autant en haut qu'en bas, ou à gauche qu'à droite de l'image), et j'ai découvert la propriété "clip: rect" qui me semble adaptée. Or, elle ne s'utilise qu'avec "position: absolute;".
J'ai compris le problème des marges blanches sous les images en version portrait. En fait les images étaient trop petites (683*384). Du coup je les agrandies 5 fois (ça devrait aller, je pense ).
J'ai également déplacé le view dans le head, du coup la version portrait est parfaite (à part la troncature), mais la version PC donne toujours le même résultat que dans mon message précédent...
je me permets de reprendre le topic car j'ai un nouveau "défi" à relever .
Après avoir positionné les 4 images correctement, je souhaiterais afficher pour chaque image un texte différent pour chacune d'elles au survol de la souris.
Le problème auquel je suis confrontée aujourd'hui est, du fait que la longueur du texte varie selon les images, je n'arrive pas à centrer parfaitement mon texte. J'ai décidé d'avoir une longueur unique (40vw) et d'adapter la largeur selon les besoins.
J'ai entendu parler de la fonction "offsetWidth" et ai tenté de l'utiliser, mais sans succès. Voici mon code:
j'ai réussi à positionner le texte comme tu l'as indiqué (j'ai juste mis top et left à 25%) mais je n'arrive pas à faire le hover. La balise <p> fait disparaître le texte, du coup j'ai gardé le "div class="text"". Voici mon HTML:
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Pas d'aide concernant le code par MP, le forum est là pour ça :)
Pas d'aide concernant le code par MP, le forum est là pour ça :)
Pas d'aide concernant le code par MP, le forum est là pour ça :)
Pas d'aide concernant le code par MP, le forum est là pour ça :)