Redimensionner une image pour l'adapter à la fenêtre du navigateur sans distorsion
Redimensionner une image pour l'adapter à une fenêtre du navigateur est une tâche courante avec des solutions apparemment simples. Cependant, respecter des exigences spécifiques, telles que préserver les proportions et éviter les recadrages, peut présenter des défis.
Solution sans barres de défilement ni Javascript (CSS uniquement)
<code class="html"><html> <head> <style> * { margin: 0; padding: 0; } .imgbox { display: grid; height: 100%; } .center-fit { max-width: 100%; max-height: 100vh; /* vh ensures height matches browser window */ margin: auto; } </style> </head> <body> <div class="imgbox"> <img class="center-fit" src='pic.png'> </div> </body> </html></code>
Ceci La solution utilise CSS Grid pour garantir que le conteneur d'images occupe toute la hauteur de la fenêtre. L'image est ensuite définie pour s'adapter horizontalement et verticalement à l'intérieur de ce conteneur, en préservant ses proportions et en évitant l'ajout de barres de défilement.
Solution avec JQuery
Si Javascript est disponible , une autre approche est :
<code class="html"><html> <body> <img class="center fit" src="pic.jpg" > <script src="http://code.jquery.com/jquery-latest.js"></script> <script> function set_body_height() { $('body').height($(window).height()); } $(document).ready(function() { $(window).bind('resize', set_body_height); set_body_height(); }); </script> </body> </html></code>
Ici, la hauteur du corps est définie pour correspondre à la hauteur de la fenêtre, garantissant ainsi que la propriété max-height sur l'image fonctionne correctement. L'événement de redimensionnement de la fenêtre est également géré pour ajuster automatiquement la hauteur du corps et la taille de l'image lorsque la fenêtre est redimensionnée.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!