Maison  >  Article  >  interface Web  >  Comment puis-je réorganiser les divisions dans une disposition Flexbox en fonction de la taille de l'écran sans masquer ni afficher les éléments ?

Comment puis-je réorganiser les divisions dans une disposition Flexbox en fonction de la taille de l'écran sans masquer ni afficher les éléments ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-29 03:28:29899parcourir

How Can I Reorder Divs in a Flexbox Layout Based on Screen Size Without Hiding or Showing Elements?

Comment réorganiser les divisions à l'aide de Flex Box : une exploration approfondie

Dans le but de maintenir à la fois la convivialité du référencement et la structure sémantique du Web conception, les développeurs s'efforcent souvent d'éviter de répéter des éléments pour les afficher dans différentes positions. Lors de l'utilisation d'une mise en page flexbox, cette quête présente des défis, notamment lorsqu'il s'agit de réorganiser les divs.

Le défi de la réorganisation

Le scénario de l'utilisateur implique un site Web avec une mise en page spécifique impliquant trois divs : un div haut/droit, un div centre/gauche et un div bas/droite. Sur les ordinateurs de bureau, les div doivent être centrés verticalement, tandis que sur mobile, ils doivent s'empiler verticalement.

Les contraintes de l'utilisateur incluent :

  • Aucun div ne doit être masqué ou affiché en fonction de la largeur de la fenêtre. .
  • Les divs ont des hauteurs variables.
  • La compatibilité IE11 est requise.

Limites de Flexbox

Traditionnellement, flexbox ne peut pas gérer la réorganisation des divs en fonction uniquement de la taille de l'écran. Cependant, un compromis potentiel existe en fonction de chaque cas spécifique.

Solution CSS pure à hauteur fixe

Pour les cas où les divs ont des hauteurs fixes, il est possible d'atteindre le réorganisation souhaitée en utilisant CSS. La solution consiste à envelopper les divs dans un conteneur flexible et à appliquer la propriété order au div qui doit être réorganisé. Dans ce cas, le div centre/gauche aurait un ordre de -1 sur les ordinateurs de bureau pour garantir qu'il apparaisse devant le div haut/droit. De plus, un pseudo-élément est utilisé pour créer l'espace requis pour le centrage sur les ordinateurs de bureau.

Adressage de la réactivité

Pour les conceptions réactives, des règles CSS supplémentaires peuvent être appliquées pour gérer les différentes mises en page. Par exemple, lorsque la fenêtre d'affichage est inférieure à 768 px, le conteneur flexible peut passer à une orientation verticale et l'ordre est réinitialisé à 0 pour tous les div.

Conclusion

Bien qu'il ne soit généralement pas possible de réorganiser les divs en utilisant uniquement Flexbox, les limitations peuvent être contournées dans des circonstances spécifiques en utilisant des hauteurs fixes ou en compromettant la disposition en fonction de la taille de l'écran. Les développeurs doivent examiner attentivement les exigences spécifiques de leur projet et explorer les solutions potentielles pour obtenir la mise en page souhaitée tout en préservant l'intégrité sémantique.

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