Table des matières
L'utilisation d' aspect-ratio sur les éléments seuls calculera la hauteur en fonction de la largeur automatique.
Si le contenu dépasse le rapport d'aspect, l'élément se développera.
Si un élément a une de hauteur ou de largeur , l'autre est calculée en fonction du rapport d'aspect.
Si l'élément a à la fois la hauteur et la largeur , aspect-ratio est ignoré.
Utiliser les fonctions de valeur
Peut-être qu'il serait utile de considérer le aspect-ratio comme le moyen le plus faible de déterminer la taille d'un élément?
Maison interface Web tutoriel CSS Un premier aperçu de `aspect ratio`

Un premier aperçu de `aspect ratio`

Apr 05, 2025 am 09:57 AM

Un premier aperçu de `aspect ratio`

CSS inaugure un nouvel attribut qui affecte la taille de la boîte - aspect-ratio ! C'est un grand événement. Bien qu'il existe déjà de nombreuses façons de créer des boîtes avec des rapports d'aspect spécifiés (je pense qu'une solution basée sur des propriétés personnalisées est la meilleure), aucune n'est particulièrement intuitive et certainement pas aussi simple que de déclarer une seule propriété.

Avec aspect-ratio (MDN, pour ne pas confondre avec les versions de requête multimédia), je veux examiner comment cela fonctionne et essayer de le comprendre.

Grâce à Una de m'avoir permis de voir cette propriété en premier, cela a vraiment attiré beaucoup de gens. Voici quelques-unes de mes tentatives.

L'utilisation d' aspect-ratio sur les éléments seuls calculera la hauteur en fonction de la largeur automatique.

Sans régler la largeur, l'élément a toujours une largeur automatique naturelle. Par conséquent, la hauteur peut être calculée en fonction du rapport d'aspect et de la largeur du rendu.

 .el {
  Ratio d'aspect: 16/9;
}
Copier après la connexion

Si le contenu dépasse le rapport d'aspect, l'élément se développera.

Dans ce cas, le rapport d'aspect sera ignoré, ce qui est en fait bon. C'est pourquoi la stratégie pseudo-élémentaire est populaire pour les ratios d'aspect, car cela ne conduit pas à une perte de données dangereuse ou à un chevauchement maladroit lorsqu'il y a trop de contenu.

Cependant, si vous souhaitez limiter la hauteur au rapport d'aspect, vous pouvez le faire en ajoutant min-height: 0;

Si un élément a une de hauteur ou de largeur , l'autre est calculée en fonction du rapport d'aspect.

aspect-ratio est donc essentiellement un moyen de définir une autre dimension lorsque vous n'avez qu'une seule dimension.

Si l'élément a à la fois la hauteur et la largeur , aspect-ratio est ignoré.

Une combinaison explicite de hauteur et de largeur est "plus forte" que le rapport d'aspect.

Considérez min-* et max-*

Il y a toujours une certaine tension entre la largeur, la largeur minimale et la largeur maximale (ou version de hauteur). L'un d'eux "gagne toujours". Habituellement, c'est intuitif.

Si vous définissez width: 100px; et min-width: 200px; , min-width gagnera. Donc, min-width est ignorée (parce que vous l'avez déjà dépassé) ou gagné. Il en va de même pour max-width : si vous définissez width: 100px; et max-width: 50px; , max-width gagnera. max-width est donc ignorée (car vous êtes déjà en dessous) ou gagné.

Il semble que cette intuition commune s'applique également ici: min-* et max-* gagnent ou n'ont pas d'importance. S'ils gagnent, le ratio d'aspect sera détruit.

 .el {
  Ratio d'aspect: 1/4;
  hauteur: 500px;

  / * est ignoré car la largeur est calculée comme 125px * /
  / * Min-largeur: 100px; * /

  / * Gagner, faire le ratio d'aspect 1/2 * /
  / * Min-largeur: 250px; * /
}
Copier après la connexion

Utiliser les fonctions de valeur

Dans les situations fluides ou à tout moment où vous ne connaissez pas la dimension à l'avance, les rapports d'aspect sont toujours les plus utiles. Mais même si vous ne le savez pas, vous imposez souvent des contraintes aux choses. Par exemple, la largeur de 50% est bonne, mais vous voulez juste le réduire à 200px. Vous pouvez utiliser width: max(50%, 200px); . Ou utilisez clamp(200px, 50%, 400px); pour imposer des contraintes des deux côtés.

Cela semble intuitif:

 .el {
  Ratio d'aspect: 4/3;
  Largeur: pince (200px, 50%, 400px);
}
Copier après la connexion

Mais supposons que vous rencontriez une valeur minimale de 200px, puis appliquez min-width de 300px? min-width minuscule. C'est toujours intuitif, mais cela peut être déroutant en raison des nombreuses propriétés, fonctions et valeurs impliquées.

Peut-être qu'il serait utile de considérer le aspect-ratio comme le moyen le plus faible de déterminer la taille d'un élément?

Il ne l'emporte jamais sur aucune autre information de taille, mais s'il n'y a pas d'autres informations disponibles dans la dimension, elle effectuera toujours son redimensionnement.

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 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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Travailler avec GraphQL Caching Travailler avec GraphQL Caching Mar 19, 2025 am 09:36 AM

Si vous avez récemment commencé à travailler avec GraphQL ou examiné ses avantages et ses inconvénients, vous avez sans aucun doute entendu des choses comme "GraphQL ne prend pas en charge la mise en cache" ou

Construire une application Ethereum à l'aide de Redwood.js et de la faune Construire une application Ethereum à l'aide de Redwood.js et de la faune Mar 28, 2025 am 09:18 AM

Avec la récente montée du prix du bitcoin sur 20k $ USD, et pour lui, récemment en train de briser 30k, je pensais que cela valait la peine de reprendre une profonde plongeon dans la création d'Ethereum

Créer votre propre bragdoc avec Eleventy Créer votre propre bragdoc avec Eleventy Mar 18, 2025 am 11:23 AM

Quelle que soit le stade dans lequel vous vous trouvez en tant que développeur, les tâches que nous effectuons - qu'elles soient grandes ou petites - ont un impact énorme dans notre croissance personnelle et professionnelle.

Vue 3 Vue 3 Apr 02, 2025 pm 06:32 PM

Il est sorti! Félicitations à l'équipe Vue pour l'avoir fait, je sais que ce fut un effort massif et une longue période à venir. Tous les nouveaux documents aussi.

Pouvez-vous obtenir des valeurs de propriété CSS valides du navigateur? Pouvez-vous obtenir des valeurs de propriété CSS valides du navigateur? Apr 02, 2025 pm 06:17 PM

J'ai eu quelqu'un qui écrivait avec cette question très légitime. Lea vient de bloguer sur la façon dont vous pouvez obtenir les propriétés CSS valides elles-mêmes du navigateur. C'est comme ça.

Un peu sur CI / CD Un peu sur CI / CD Apr 02, 2025 pm 06:21 PM

Je dirais que "Site Web" correspond mieux que "Application mobile" mais j'aime ce cadrage de Max Lynch:

Cartes empilées avec un positionnement collant et une pincée de sass Cartes empilées avec un positionnement collant et une pincée de sass Apr 03, 2025 am 10:30 AM

L'autre jour, j'ai repéré ce morceau particulièrement charmant sur le site Web de Corey Ginnivan où une collection de cartes se cassent les uns sur les autres pendant que vous faites défiler.

Comparaison des navigateurs pour une conception réactive Comparaison des navigateurs pour une conception réactive Apr 02, 2025 pm 06:25 PM

Il existe un certain nombre de ces applications de bureau où l'objectif montre votre site à différentes dimensions en même temps. Vous pouvez donc, par exemple, écrire

See all articles