Я построил горизонтальный макет флексбокса с двумя элементами, каждый из которых представляет собой вертикальный флексбокс.
Вот текущее поведение: при прокрутке вниз красный контейнер нормально прокручивается. Синий контейнер прилипнет, а затем прокрутится вместе с красным в какой-то момент. Это проблема, потому что последние несколько синих элементов никогда не будут видны, если я не прокручиву до конца страницы. Но если я добавлю событие прокрутки, чтобы добавить больше красных контейнеров, это никогда не произойдет.
Вот предполагаемое поведение: оба контейнера будут прокручиваться нормально, пока не появится последний синий прямоугольник. Тогда синий контейнер перестанет прокручиваться.
Вопросы:
Как мне достичь намеченного поведения?
В настоящее время почему сделал прокрутку для остановки синего контейнера, затем снова начал, чтобы выровнять с красным контейнером.
.wrapper{
display: flex;
justify-content: space-around;
align-items: flex-start;
border: 2px dashed rgba(114, 186, 94, 0.35);
background: rgba(114, 186, 94, 0.05);
}
.item{
display: flex;
flex-direction: column;
}
div{
min-width: 100px;
min-height: 100px;
margin: 10px;
}
.red{
background-color: red;
}
.blue{
background-color: blue;
}
.sticky{
position: -webkit-sticky;
position: sticky;
top: 0;
}
<div class="wrapper">
<div class="item">
<div class="red">First</div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red"></div>
<div class="red">Last</div>
</div>
<div class="item sticky">
<div class="blue">1</div>
<div class="blue">2</div>
<div class="blue">3</div>
<div class="blue">4</div>
<div class="blue">5</div>
<div class="blue">6</div>
<div class="blue">7</div>
<div class="blue">8</div>
<div class="blue">9</div>
<div class="blue">10</div>
</div>
</div>