У меня тоже проблемы с этим на данный момент.Похоже, что это влияет только на Chrome.
Единственный способ, которым я смог обойти это, это сделать родительский элемент прокрутки элементом, отличным от тела.Это, однако, не идеально, поскольку вы теряете встроенную мобильную функциональность из-за сужающегося адреса и панелей инструментов.
В любом случае, вот рабочий форк: https://codepen.io/treechime/pen/pxVeVr
html, body {
height: 100%;
}
.wrapper {
bottom: 0;
left: 0;
overflow: auto;
position: absolute;
right: 0;
top: 0;
scroll-snap-type: y mandatory;
}
.section {
scroll-snap-align: start;
}
<div class="wrapper">
<div class="section">one</div>
<div class="section">two</div>
<div class="section">three</div>
</div>
РЕДАКТИРОВАТЬ:
Добавление класса с помощью javascript в конце документа, похоже, тоже помогает, и избавляет от необходимости добавлять лишние элементы.
body.snap {
scroll-snap-type:y mandatory;
}
<script>document.body.classList.add('snap')</script>
ИЛИ, чтобы не полагаться на JS дляпривязка к работе
body {
scroll-snap-type:y mandatory;
}
body.fix {
display:inline-block;
width:100%;
}
<script>
document.body.classList.add('fix');
setTimeout(function() { document.body.classList.remove('fix'); }, 0);
</script>