Maison > interface Web > tutoriel CSS > Comment créer une mise en page de grille fluide avec un bureau à 3 colonnes et un mobile à 1 colonne sans requêtes multimédias ?

Comment créer une mise en page de grille fluide avec un bureau à 3 colonnes et un mobile à 1 colonne sans requêtes multimédias ?

Susan Sarandon
Libérer: 2024-11-15 05:17:02
original
853 Les gens l'ont consulté

How to Create a Fluid Grid Layout with 3-Column Desktop and 1-Column Mobile Without Media Queries?

Réaliser une mise en page de bureau à 3 colonnes et une mise en page mobile à 1 colonne sans requêtes multimédias

Problème :
Comment pouvons-nous créer une disposition de grille fluide qui passe d'une disposition de bureau à 3 colonnes à une disposition mobile à 1 colonne sans recourir aux requêtes multimédias ?

Solution :
CSS permet une mise en page dynamique ajustements de mise en page sans compter sur les requêtes multimédias. Voici comment procéder :

1. Utilisation de Clamp() et Flex :
Dans votre CSS initial, vous avez utilisé clamp() dans la propriété grid-template-columns pour passer de Repeat(3) à Repeat(1) en fonction de la taille de l'écran. Cependant, clamp() seul ne fournit pas le résultat souhaité. Au lieu de cela, nous pouvons utiliser clamp() dans la propriété flex-basis des éléments flex pour créer un comportement d'emballage :

.container {
  display: flex;
  flex-wrap: wrap;
}

.item {
  height: 100px;
  border: 2px solid;
  background: red;
  flex-basis: max(0px, (400px - 100vw) * 1000);
  flex-grow: 1;
}
Copier après la connexion

2. Ajustez la formule en fonction de la taille de l'écran :
Dans ce code, 400 px représente la taille de l'écran à laquelle la mise en page doit passer de 3 colonnes à 1 colonne. Vous pouvez ajuster cette valeur en fonction du point d'arrêt souhaité. Par exemple, pour passer à 500px, remplacez 400px par 500px.

3. Explication du calcul :
La formule max(0px, (400px - 100vw) * 1000) garantit que la base flexible de chaque élément reste à 0px lorsque la largeur de la fenêtre d'affichage est supérieure à 400px. Cela les maintient côte à côte dans une disposition à 3 colonnes. Cependant, lorsque la largeur de la fenêtre d'affichage diminue en dessous de 400 px, la base flexible devient une valeur élevée, poussant efficacement les éléments sur des lignes séparées, ce qui entraîne une disposition à 1 colonne.

En utilisant clamp() de cette manière, vous pouvez obtenir une mise en page fluide et réactive qui s'adapte à différentes tailles d'écran sans avoir besoin de requêtes multimédias.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal