Это немного сложно, чтобы заставить его работать, и так как MDN не описывает это очень хорошо, это усложняет.
В чем именно проблема?
предоставленный вами элемент упаковки не соответствует ожидаемому действию. Так что же это значит?
Чтобы убедиться, что scroll-snap-type
работает правильно , мы должны убедиться, что единственная доступная полоса прокрутки в нашем окне - это прокручиваемый элемент прокрутки , который в вашем случае это это деление по имени класса screen
.
Как это исправить?
Так что все, что вам нужно сделать, это убедиться, что элемент прокрутки точно связан с родительским переносом элемент , который в вашем случае обозначен screen
именем класса. Чтобы убедиться, что полоса прокрутки, которую вы видите в правой части , вы должны сделать переполнение body
и html
до hidden
, чтобы предотвратить их прокрутку. просто так:
html,
body {
overflow: hidden;
}
Затем вам нужно включить правую полосу прокрутки , которая относится к разделу screen
.
.screen {
height: 100vh;
overflow-y: scroll;
scroll-snap-type: y mandatory;
}
Так что она будет работать как шарм.
Вот пример работающего в реальном времени: codepen.io
Также в SO есть похожая проблема, которую вы можете найти здесь .