Задать вопрос
@Esm322

Как сделать overflow-y для одной части блока, чтобы другая оставалась статичной?

Подскажите, пожалуйста, как можно реализовать прокрутку по вертикали только одного блока, но при этом другой блок оставался статичным?
Есть флексовый блок, в блоке есть загловок и список. Мне нужно, чтобы при достижении флексового блока на основном скроле у боди, основной скрол у боди дальше не скролился, пока не проскролится список. При этом заголовок оставался статичным
Как это можно реализовать?
  • Вопрос задан
  • 96 просмотров
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 1
@glu-dimaz
<html>
<head> 
<style>
body{
overflow:hidden;
height:100vh;
}
.overflow{
min-height:100vh;
overflow-y:auto;
}
</style>
</head>

<body>
<div class=“overflow”>
Content 
<div>
</body>
</html>


К примеру , задаем для body фиксированную высоту, которая равна высоте экрана. Внутри него создаем блок со свойством: overflow-y:auto , что позволяет скролить, в случае если контент больше высоты экрана. Таким образом - сама страница остается статичной и неподвижной, а скроллинг происходит только контента внутри блока div.

<html>
<head> 
<style>
body{
display:grid;
overflow:hidden;
height:100vh;
grid-template-columns:200px auto;
}
.no-overflow{

}
.overflow{
min-height:100vh;
overflow-y:auto;
}
</style>
</head>

<body>
<div class=“no-scroll”>
Leftblock 
</div>
<div class=“overflow”>
Content 
<div>
</body>
</html>


Во втором примере, предварительно сделал сетку на стринце - первый блок (no-overflow) - останется статичным, относительно всей страницы во время скрола
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы