28172 sujets

CSS et mise en forme, CSS3

Je cherche à faire un truc un peu dingue et j'ai du mal,
je voudrais redimensionner une image en CSS sous certaines conditions
si largeur >hauteur => width 100 % et height auto
si hauteur > largeur => width auto et height 100%

quelqu'un à une idée ?

merci d'avance
Bonsoir.

Si je ne me trompe, ce que vous demandez ressemble fort au résultat obtenu avec :
object-fit : contain;


Mais ça ne marche pas avec tous les navigateurs...

Smiley smile
object-fit : contain;

Le problème de cette règle, c'est qu'elle n'est compatible avec aucune version d'Internet Explorer. En attendant je préfère me débrouiller avec d'autres techniques...

Une solution maison : CodePen

<div class="content-img">
  <!-- on englobe l'image dans une div pour ne pas la distordre en tant que flexbox item : -->
  <div>
    <img src="https://image.jpg"/>
  </div>
</div>

.content-img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}
img {
  max-width: 100%;
  max-height: 100vh;
}

Modifié par Olivier C (20 Jan 2017 - 08:28)