Maison  >  Article  >  interface Web  >  Comment adapter parfaitement une image à une fenêtre de navigateur sans barres de défilement ?

Comment adapter parfaitement une image à une fenêtre de navigateur sans barres de défilement ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-01 07:33:02665parcourir

How to Make an Image Fit Perfectly in a Browser Window Without Scrollbars?

Comment redimensionner une image pour qu'elle s'adapte parfaitement à une fenêtre de navigateur

Redimensionner une image pour qu'elle s'adapte aux limites d'une fenêtre de navigateur peut poser un défi, surtout lorsque divers facteurs tels que la taille de la fenêtre, les dimensions de l'image et les barres de défilement doivent être pris en compte.

Le Problème :

L'objectif est de conserver les proportions de l'image, d'empêcher l'apparition de la barre de défilement et de garantir que l'image occupe le maximum d'espace disponible sans dépasser sa taille d'origine.

CSS -Seule solution :

Mise à jour (2018-04-11) :

<code class="css">* { margin: 0; padding: 0; }
.imgbox { display: grid; height: 100%; }
.center-fit { max-width: 100%; max-height: 100vh; margin: auto; }</code>

Ce code obtient le résultat souhaité uniquement via CSS. L'image réside dans un conteneur affiché sous forme de grille qui occupe toute la hauteur de la fenêtre. L'image elle-même adapte à la fois sa largeur et sa hauteur pour s'adapter à ce conteneur, en préservant ses proportions tout en garantissant qu'elle est centrée dans la fenêtre.

Solution JQuery :

<code class="html"><!DOCTYPE html>
<html>
<head>
<style>
    * { padding: 0; margin: 0; }

    .fit { /* set relative picture size */
        max-width: 100%;
        max-height: 100%;
    }

    .center {
        display: block;
        margin: auto;
    }
</style>
</head>
<body>

<img class="center fit" src="pic.jpg" >

<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
    function set_body_height() { // set body height = window height
        $('body').height($(window).height());
    }

    $(document).ready(function() {
        $(window).bind('resize', set_body_height);
        set_body_height();
    });
</script>

</body>
</html></code>

La solution JQuery consiste à régler la hauteur du corps pour qu'elle corresponde à la hauteur de la fenêtre. Cela permet à la propriété max-height de l'image de fonctionner comme prévu, en limitant l'image dans les limites de la fenêtre. De plus, l'image se redimensionne automatiquement lors du redimensionnement de la fenêtre.

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