兄弟項目在flex/grid佈局中被限制了大小
P粉134288794
2023-08-24 12:52:48
<p>我有兩個兄弟元素,每個元素都包含動態內容。 </p>
<pre class="brush:php;toolbar:false;"><div class="flex">
<div class="sibling-1"></div>
<div class="sibling-2"></div>
</div></pre>
<p>在某些情況下,<code>sibling-1</code>的內容會比<code>sibling-2</code>多,反之亦然。
我希望第二個元素<code>sibling-2</code>的高度總是等於第一個<code>sibling-1</code>的高度。如果<code>sibling-2</code>的高度大於<code>sibling-1</code>的高度,則會溢出<code>flex</code> div並可捲動。 </p>
<p>有沒有辦法使用Flexbox來達到這個效果? </p>
基本上不行。 flex等高特性是基於容器的高度,而不是任何特定的兄弟元素。
所以,兄弟元素1和兄弟元素2總是可以等高。
但是,flexbox沒有內建的機制來限制項目的高度與一個兄弟元素的高度相同。
考慮使用JavaScript或CSS定位屬性。
這裡有一個使用絕對定位的範例:
jsFiddle
#是的,這是可能的。保留兄弟節點設定的最大高度,將其他節點的
flex-basis: 0
和flex-grow: 1
設定為,根據規範,它們會擴展到與兄弟節點相同的高度。沒有絕對定位。沒有在任何元素上設定高度。