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 ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-31 01:17:29695parcourir

How to Dynamically Resize an Image to Fit the Browser Window?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn