J'essaye d'afficher de grandes images avec des balises HTML img. Au moment où ils sortent du bord de l'écran; comment puis-je les mettre à l'échelle pour rester dans la fenêtre du navigateur?
Ou dans le cas probable où cela ne serait pas possible, est-il possible de dire au moins "afficher cette image à 50% de sa largeur et de sa hauteur normales"?
Les attributs de largeur et de hauteur déforment l'image - pour autant que je sache, c'est parce qu'ils se réfèrent à tous les attributs avec lesquels le conteneur peut se retrouver, qui ne seront pas liés à l'image. Je ne peux pas spécifier de pixels car je dois gérer une grande collection d'images, chacune avec une taille de pixel différente. La largeur maximale ne fonctionne pas.
html
image-scaling
rwallace
la source
la source
Réponses:
Réglez uniquement
width
ouheight
, et il mettra automatiquement l'autre à l'échelle. Et oui, vous pouvez utiliser un pourcentage.La première partie peut être effectuée, mais nécessite JavaScript et peut donc ne pas fonctionner pour tous les utilisateurs.
la source
css suffit:
la source
Je sais que cette question est posée depuis longtemps, mais à ce jour, une réponse simple est:
L'utilisation de vw ici indique que la largeur est relative à 55% de la largeur de la fenêtre.
Aujourd'hui, tous les principaux navigateurs le prennent en charge.
Vérifiez ce lien .
la source
vw
a été une bouée de sauvetage pour moi, les autres méthodes ne fonctionnaient pas pour l'image à portée de main.Aucun Javascript requis.
IE6 Internet Explorer 6
Le pourcentage ne fonctionne que pour la largeur d'un élément, mais
height:100%;
ne fonctionne pas sans le code correct.CSS
Ensuite, l'utilisation d'un pourcentage fonctionne correctement et se met à jour dynamiquement lors du redimensionnement de la fenêtre.
Vous n'avez pas besoin d'un attribut de largeur, la largeur est mise à l'échelle proportionnellement à la modification de la taille de la fenêtre du navigateur.
Et ce petit bijou, au cas où l'image serait mise à l'échelle, elle n'aura pas l'air (trop) en bloc (elle interpole).
Les accessoires vont à cette source: Ultimate IE6 Cheatsheet: Comment corriger plus de 25 bogues d'Internet Explorer 6
la source
L'ajout
max-width: 100%;
auimg
tag fonctionne pour moi.la source
Je pense que la meilleure solution est de redimensionner les images via un script ou localement et de les télécharger à nouveau. N'oubliez pas que vous obligez vos spectateurs à télécharger des fichiers plus volumineux que nécessaire
la source
La meilleure façon dont je sais comment faire est:
1) régler le débordement pour faire défiler et de cette façon l'image resterait mais vous pouvez faire défiler pour la voir à la place
2) téléchargez une image plus petite. Maintenant, il existe de nombreux programmes lors du téléchargement (vous aurez besoin de quelque chose comme PHP ou .net pour faire cela), vous pouvez le faire évoluer automatiquement.
3) Vivre avec et définir la largeur et la hauteur, bien que cela lui donne un aspect déformé, mais la bonne taille obligera toujours l'utilisateur à télécharger l'image en taille réelle.
Bonne chance!
la source