28111 sujets

CSS et mise en forme, CSS3

Bonjour à tous,
cela fait un moment que je butte toujours sur le même problème et je me dis que l'un d'entre vous a peut être déjà trouvé une solution.

Le problème est tout simple : j'ai une boucle php qui me génère un code pour afficher des images. Si, j'ai x images, il va m'afficher photo_1.jpg, photo_2.php, jusque photo_x.php

Une fois que les x photos s'affichent, je met en forme via css. forcément, dans ces listes de photos, il y a des photos en portrait et d'autres en paysage et forcément, elles s'alternent de manière complètement aléatoires.

J'ai donc besoin de différencier les photos portait des photos paysage car si j’applique une classe css identique aux 2 types d'images, j'ai un truc dégueu...

L'un(e) de vous a t'il une technique de Sioux ou de moine Shaolin pour faire la différence ?

Merci
Modérateur
Bonjour,

Ni Siou ni Shaolin, il est possible en php de récupérer les dimensions d'une image avec getimagesize() qui retourne un tableau comprenant les infos sur l'image et notamment à l'index 0 la largeur et à l'index 1 la hauteur.
Ensuite il suffit de comparer ces 2 valeurs pour déterminer le format et appliquer la classe qui va bien au html.
Administrateur
Hello,

Il existe également naturalWidth et naturalHeight qui peuvent être très utiles dans le cas où les images seraient redimensionnées par le navigateur (dans Grid Layout ou Flexbox par exemple).

Tu as un exemple d'usage ici : https://codepen.io/raphaelgoetter/pen/pgRQwv

Bonne chance !