あなたは、いくつかの制限なしでそれを行うことはできません。
CSSに最も近い点は、parent
に固定height
を設定し、最後のdiv
のラッパーを高さ100%に設定することです。
の左側のがビューポートより高くなるとすぐに、ラップして、その高さに合わせて親の高さを調整するスクリプトが必要になることを制御します。サイドノートとして
、あなたは私のこの回答のようにトリックを使用している場合、あなたは簡単に列ラッパーが使用されている問題を克服することができますadd-scroll-to-each-column-in-css-grid-layout
html, body {
margin: 0;
}
.parent {
display: flex;
flex-direction: column;
flex-wrap: wrap;
height: 100vh;
overflow: auto;
}
.wrapper {
height: 100%;
width: 50%;
}
.sibling {
width: 50%;
background-color: blue;
}
.wrapper .sibling {
width: 100%;
}
.sibling.nr2 {
background-color: green;
}
.sibling.nr1 {
background-color: red;
}
<div class="parent">
<div class="sibling nr1">
Sibling 1<br>
Sibling 1<br>
Sibling 1<br>
Sibling 1<br>
Sibling 1<br>
Sibling 1<br>
</div>
<div class="sibling nr2">
Sibling 2<br>
Sibling 2<br>
Sibling 2<br>
Sibling 2<br>
Sibling 2<br>
</div>
<div class="wrapper">
<div class="sibling nr3">
Sibling 3<br>
Sibling 3<br>
Sibling 3<br>
Sibling 3<br>
Sibling 3<br>
Sibling 3<br>
Sibling 3<br>
Sibling 3<br>
Sibling 3<br>
Sibling 3<br>
Sibling 3<br>
Sibling 3<br>
Sibling 3<br>
Sibling 3<br>
Sibling 3<br>
</div>
</div>
</div>
を主な理由は、要素が内容に基づいて互いに独立した高さを持つ必要があるためです。 @LGSon –
私の答えを更新しました。あなたが望む答えではなくても、それはまだ答えています。 – LGSon