Прокрутите липкий выравнивание вверх или снизу в зависимости от высотыCSS

Разбираемся в CSS
Anonymous
Прокрутите липкий выравнивание вверх или снизу в зависимости от высоты

Сообщение Anonymous »

У меня есть макет с двумя столбцами, где оба столбца могут прокручиваться. Когда один столбец больше другого, меньший столбец должен прокручивать нижнюю часть своего содержимого, а затем оставаться там, пока больший столбец также не завершит прокрутку. Это достигается с помощью следующего кода.

Код: Выделить всё

.container {
display: grid;
grid-template-columns: 1fr 1fr;
}

.stick-container {
position: sticky;
align-self: end;
bottom: 0;
}< /code>



[img]https://images.unsplash.com/photo-1468487422149-5edc5034604f[/img]

[img]https://images.unsplash.com/photo-1507608616759-54f48f0af0ee[/img]



< /code>
< /div>
< /div>
< /p>
Это работает нормально, пока оба столбца больше, чем высота доступного представления Полем Однако, когда один столбец меньше, он прилипает к дне (как указано CSS). < /P>
Однако в таких случаях я хочу, чтобы она придерживалась вершины. Следующий код сделал бы это, однако я не знаю, как переключаться между двумя состояниями или есть даже более лучшего стиля CSS, который достигает оба напрямую. < /P>


.container {
display: grid;
grid-template-columns: 1fr 1fr;
}

.stick-container {
position: sticky;
align-self: start; /* CHANGED */
top: 0;  /* CHANGED */
}< /code>



[img]https://images.unsplash.com/photo-1468487422149-5edc5034604f[/img]

[img]https://images.unsplash.com/photo-1507608616759-54f48f0af0ee[/img]






Подробнее здесь: https://stackoverflow.com/questions/793 ... -on-height

Вернуться в «CSS»