Maison >interface Web >tutoriel CSS >Comment redimensionner dynamiquement une image pour l'adapter à la fenêtre du navigateur ?
Comment redimensionner dynamiquement une image pour l'adapter à la fenêtre du navigateur
Encadrer une image dans une fenêtre de navigateur tout en conservant ses proportions, en garantissant il est entièrement affiché et empêcher les barres de défilement pose souvent un défi. Pour résoudre ces problèmes efficacement, voici deux approches globales.
1. Solution CSS uniquement (mise à jour 2018)
Tirant parti de la disposition en grille et des capacités de marge automatique de CSS, cette méthode offre une solution complète, uniquement CSS. L'extrait de code ci-dessous centre et redimensionne dynamiquement l'image pour l'adapter à la fenêtre du navigateur :
<code class="html"><div class="imgbox"> <img class="center-fit" src="pic.png"> </div></code>
CSS :
<code class="css"> * { margin: 0; padding: 0; } .imgbox { display: grid; height: 100%; } .center-fit { max-width: 100%; max-height: 100vh; margin: auto; }</code>
2. Solution JavaScript/jQuery
Cette approche s'appuie sur jQuery pour définir dynamiquement la hauteur du conteneur d'image, permettant à la propriété max-height de l'image de fonctionner comme prévu. L'image ajuste automatiquement sa taille à mesure que la fenêtre du navigateur est redimensionnée.
<code class="html"><body> <img class="center fit" src="pic.jpg"> </body></code>
<code class="javascript"> // Set body height to window height function set_body_height() { $('body').height($(window).height()); } // On DOM ready and window resize, adjust body height $(document).ready(function() { $(window).bind('resize', set_body_height); set_body_height(); });</code>
Remarque : une solution similaire est disponible sous forme de plugin jQuery créé par l'utilisateur gutierrezalex.
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!