Les éléments frères et sœurs sont de taille limitée dans la disposition flex/grille
P粉134288794
2023-08-24 12:52:48
<p>J'ai deux éléments frères, chacun contenant du contenu dynamique. </p>
<pre class="brush:php;toolbar:false;"><div class="flex">
<div class="sibling-1"></div>
<div class="sibling-2"></div>
</div></pre>
<p>Dans certains cas, <code>sibling-1</code> contiendra plus de contenu que <code>sibling-2</code>, et vice versa.
Je veux que la hauteur du deuxième élément <code>sibling-2</code> soit toujours égale à la hauteur du premier <code>sibling-1</code>. Si la hauteur de <code>sibling-2</code> est supérieure à la hauteur de <code>sibling-1</code>, il débordera du <code>flex</code> . </p>
<p>Existe-t-il un moyen d'obtenir cet effet en utilisant Flexbox ? </p>
En gros non. La fonction de hauteur flexible est basée sur la hauteur du conteneur et non sur des éléments frères spécifiques.
Ainsi, l'élément frère 1 et l'élément frère 2 peuvent toujours être de la même hauteur.
Cependant, flexbox n'a pas de mécanisme intégré pour contraindre un élément à avoir la même hauteur qu'un élément frère.
Envisagez d'utiliser les propriétés de positionnement JavaScript ou CSS.
Voici un exemple utilisant le positionnement absolu :
jsFiddle
Oui, c'est possible. Conservez la hauteur maximale définie par le nœud frère et définissez le
flex-basis: 0
和flex-grow: 1
des autres nœuds de telle sorte que, par spécification, ils s'étendent à la même hauteur que le frère frère. Il n’y a pas de positionnement absolu. Aucune hauteur n'est définie sur aucun élément.