Cela semble trivial, mais après toutes les recherches et le codage, je n'arrive pas à le faire fonctionner. Les conditions sont les suivantes
- La taille de la fenêtre du navigateur est inconnue. Ne proposez donc pas de solution impliquant des tailles de pixels absolues.
- Les dimensions originales de l'image sont inconnues et peuvent ou non correspondre à la fenêtre du navigateur.
- L'image est centrée verticalement et horizontalement.
- Les proportions de l'image doivent être conservées.
- L'image doit être affichée dans son intégralité dans la fenêtre (pas de recadrage).
- Je ne souhaite pas que des barres de défilement apparaissent (et elles ne devraient pas apparaître si l'image est adaptée).
- L'image se redimensionne automatiquement lorsque les dimensions de la fenêtre changent, afin d'occuper tout l'espace disponible sans être plus grande que sa taille d'origine.
En fait, ce que je veux, c'est ceci :
.fit {
max-width: 99%;
max-height: 99%;
}
<img class="fit" src="pic.png">
Le problème du code ci-dessus est qu'il ne fonctionne pas : l'image prend tout l'espace vertical dont elle a besoin en ajoutant une barre de défilement verticale.
J'ai à ma disposition PHP, Javascript, JQuery mais je tuerais pour une solution CSS uniquement. Je me fiche que cela ne fonctionne pas dans IE.