Geschwisterelemente sind im Flex-/Gitter-Layout in der Größe begrenzt
P粉134288794
2023-08-24 12:52:48
<p>Ich habe zwei Geschwisterelemente, die jeweils dynamischen Inhalt enthalten. </p>
<pre class="brush:php;toolbar:false;"><div class="flex">
<div class="sibling-1"></div>
<div class="sibling-2"></div>
</div></pre>
<p>In manchen Fällen enthält <code>sibling-1</code> mehr Inhalt als <code>sibling-2</code> und umgekehrt.
Ich möchte, dass die Höhe des zweiten Elements <code>sibling-2</code> immer gleich der Höhe des ersten <code>sibling-1</code> ist. Wenn die Höhe von <code>sibling-2</code> größer ist als die Höhe von <code>sibling-1</code>, überläuft es das <code>flex</code>-Div und wird scrollbar . </p>
<p>Gibt es eine Möglichkeit, diesen Effekt mit Flexbox zu erzielen? </p>
基本上不行。flex等高特性是基于容器的高度,而不是任何特定的兄弟元素。
所以,兄弟元素1和兄弟元素2总是可以等高。
但是,flexbox没有内置的机制来限制项目的高度与一个兄弟元素的高度相同。
考虑使用JavaScript或CSS定位属性。
这里有一个使用绝对定位的示例:
jsFiddle
是的,这是可能的。保留兄弟节点设置的最大高度,将其他节点的
flex-basis: 0
和flex-grow: 1
设置为,根据规范,它们会扩展到与兄弟节点相同的高度。没有绝对定位。没有在任何元素上设置高度。