Maison > interface Web > tutoriel CSS > Comment puis-je agrandir une division parent pour l'adapter à son enfant parfaitement positionné ?

Comment puis-je agrandir une division parent pour l'adapter à son enfant parfaitement positionné ?

Barbara Streisand
Libérer: 2024-12-20 21:10:16
original
594 Les gens l'ont consulté

How Can I Make a Parent Div Expand to Fit Its Absolutely-Positioned Child?

Redimensionnement de la hauteur de la division parent en fonction de la division enfant en position absolue

Dans la conception Web, il est souvent nécessaire de positionner les éléments dans un conteneur parent dans d'une manière non linéaire. Ceci peut être réalisé en utilisant un positionnement absolu, qui supprime l'élément du flux normal de documents. Cependant, un problème courant survient lorsque l'on essaie d'augmenter la hauteur du div parent pour s'adapter à l'enfant en position absolue.

Problème

Considérez le HTML et le CSS suivants :

<div>
Copier après la connexion
parent { position: relative; width: 100%; }
child1 { width: auto; margin-left: 160px; }
child2 { width: 145px; position: absolute; top: 0px; bottom: 0px; }
Copier après la connexion

Dans ce scénario, child2 a une hauteur dynamique et devrait apparaître en dessous de child1. Cependant, le div parent, #parent, ne s'étend pas pour inclure la taille de child2.

Solution

Le problème se pose car les éléments en position absolue sont supprimés de le flux. Par conséquent, ils sont ignorés par d'autres éléments, ce qui conduit le div parent à ne pas prendre en compte child2 pour son calcul de taille.

Alternatives

Pour résoudre ce problème, il existe deux options principales :

  • Redimensionnement manuel : Utilisez une approche non CSS, telle que JavaScript, pour repositionner le divs et ajustez la hauteur du parent de manière dynamique.
  • Mise en page CSS : Utilisez une boîte flexible CSS ou une disposition en grille pour inverser l'ordre visuel des éléments. Cela permet un positionnement flexible tout en maintenant le flux des éléments.

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