Maison > interface Web > tutoriel CSS > Comment puis-je conserver les proportions d'un élément Div lors du redimensionnement automatique pour différentes tailles de fenêtre ?

Comment puis-je conserver les proportions d'un élément Div lors du redimensionnement automatique pour différentes tailles de fenêtre ?

Susan Sarandon
Libérer: 2024-11-20 02:31:02
original
313 Les gens l'ont consulté

How Can I Maintain Aspect Ratio in a Div Element While Auto-Resizing for Different Window Sizes?

Maintenir les proportions pour le redimensionnement automatique des éléments Div dans différentes tailles de fenêtre

Dans le développement Web, il est souvent souhaitable d'avoir un div central qui conserve un rapport hauteur / largeur spécifique tout en s'adaptant aux changements de taille de la fenêtre. Cependant, trouver une solution qui fonctionne efficacement pour les ajustements de largeur et de hauteur peut être difficile.

Approche actuelle

Le code CSS et HTML fourni crée un div centré qui maintient une taille fixe. Lorsque la taille de la fenêtre devient plus petite, le div rétrécit mais pas d'une manière qui préserve son rapport hauteur/largeur d'origine.

Solution utilisant la propriété aspect-ratio

Pour résoudre ce problème , vous pouvez utiliser la propriété de rapport d'aspect. Cette propriété est désormais largement prise en charge et vous permet de spécifier un rapport fixe pour les dimensions d'un élément.

<br>body {<br>hauteur : 100vh;<br>marge : 0;<br> display: flex;<br> justifier-content: center;<br> align-items: center;<br> fond : gris ;<br>}</p>
<p>.stage {<br> --r : 960 / 540 ;</p>
<p>aspect-rapport : var(--r);<br> largeur : min(90%, min(960px, 90vh*(var(--r))));</p>
<p>affichage : flex;<br> justifier-contenu : centre;<br> aligner les éléments : centre ;</p>
<p>arrière-plan :</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">/* this gradient is a proof that the ratio is maintained since the angle is fixed */
linear-gradient(30deg,red 50%,transparent 50%),
chocolate;
Copier après la connexion

}

  1. Calculer le rapport d'aspect : Le -- La variable r stocke le rapport hauteur / largeur calculé comme la largeur / hauteur de la taille souhaitée (960 / 540).
  2. Définir le rapport hauteur/largeur : La propriété aspect-ratio définit le rapport hauteur/largeur sur la valeur calculée. Cela garantit que l'élément conserve toujours ce rapport.
  3. Calculer la largeur : La propriété width est définie à l'aide d'une fonction min() qui prend en compte la largeur d'origine, 90 % de la largeur de la fenêtre disponible, et 90vh fois le rapport hauteur/largeur calculé. Cette formule garantit que l'élément se rétrécit pour s'adapter à la fenêtre tout en conservant ses proportions.
  4. Centrer et styliser le div : Le div est centré à l'aide de flexbox et son arrière-plan est stylisé avec un dégradé. pour démontrer que le rapport hauteur/largeur est conservé même lorsque l'élément rétrécit.

Cette solution garantit efficacement que l'élément div conserve son rapport hauteur/largeur tout en s'adaptant aux différentes fenêtres tailles, tant en largeur qu'en hauteur.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Recommandations populaires
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal