28172 sujets

CSS et mise en forme, CSS3

Bonjour, j'ai une question sur du CSS, je butte sur une situation spécifique. J'ai un site WP qui liste des produits, une de mes images affiche le produit détouré (en png). Il se peut que les images qui sont utilisés soient de format différents (carré, grande hauteur et petite largeur ou inversement). J'applique une largeur "100%" et une hauteur "auto" sur mon image. Ce qui est très bien temps que l'image de base a un ratio à peu près convenable, mais dès que je tombe sur des image par exemple très haute et peu large, elles dépassent de mon bloc. Et quand je règle le problème pour ces images, ce sont les images plus large que haute qui sont déformés.

J'aimerais avoir un rendu homogène sur toutes mes images détourés. Bien sûr, j'ai déjà pris en compte de les centrer en largeur et hauteur. À part réduire encore l'affichage de l'image dans le bloc parent pour limiter les effets indésirables, je ne voit pas d'autre solution.

merci par avance pour vos réponses Smiley smile
Bonsoir.

Il y a object-fit et object-position qui peut régler votre problème pour la plupart des navigateurs, malheureusement pas pour tous…

Smiley smile
En attendant un support plus intéressant des propriétés proposées par Zelena (et que je ne connaisais pas) je mettrais l'image dans une div, sur cette div j'appliquerais l'image en background-image avec un background-size:cover. L'image ne serait laissée que pour le référencement.

Un exemple avec background-size:cover : Layout for Photoblog
Un exemple spécifique montrant la souplesse d'utilisation de cette technique ici : CodePen, Parallelogram with background-image
merci beaucoup Olivier C.

Je n'ai pas compris votre remarque sur le référencement. L'image en background ne serais pas pris en compte par Google ? Le truc c'est que le site que je suis entrain de faire est une refonte d'un site existant et je dois faire la passation du référencement de l'ancien vers le nouveau. Les images doivent apparaître dans le html le plus possible.