Je veux donc qu'une img
soit affichée
De plus, la taille originale de l'image n'est pas connue.
J'ai essayé pas mal d'options différentes pour cela, y compris une option de boîte flexible (pour obtenir le centre vertical), mais rien ne semble cocher toutes les cases.
Idéalement, j'aimerais bien que ce soit une solution entièrement CSS, mais je me suis également intéressé à certains JS.
Merci
Cliquez ici pour afficher le texte complet: Absolutní centrování .
Aby to byco co největší, uveďte max-width
a max-height
100%
.
.className {
position: fixed;
top: 0;
bottom: 0;
left: 0;
right: 0;
max-width: 100%;
max-height: 100%;
margin: auto;
overflow: auto;
}
Vous pouvez utiliser une div
avec une image d’arrière-plan et cette propriété CSS3:
background-size: contain
Vous pouvez consulter un exemple sur:
https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Scaling_background_images#contain
Pour citer Mozilla:
La valeur contient spécifie que, quelle que soit la taille de la zone contenue, l'image d'arrière-plan doit être mise à l'échelle afin que chaque côté soit aussi grand que possible sans dépasser la longueur du côté correspondant du conteneur.
Cependant, gardez à l'esprit que votre image sera redimensionnée si la variable div
est plus grande que votre image d'origine.
Après beaucoup d'essais et d'erreurs, j'ai trouvé que cela résolvait mes problèmes. Ceci est utilisé pour afficher des photos sur un téléviseur via un navigateur.
La seule chose à surveiller sont des images très larges. Elles s’étirent bien pour être remplies, mais pas beaucoup, les photos standard ne sont pas modifiées.
Essaie :)
* seulement testé en chrome jusqu'à présent
HTML:
<div class="frame">
<img src="image.jpg"/>
</div>
CSS:
.frame {
border: 1px solid red;
min-height: 98%;
max-height: 98%;
min-width: 99%;
max-width: 99%;
text-align: center;
margin: auto;
position: absolute;
}
img {
border: 1px solid blue;
min-height: 98%;
max-width: 99%;
max-height: 98%;
width: auto;
height: auto;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
}