gpt4 book ai didi

html - CSS 滚动 - 卡入到位?

转载 作者:行者123 更新时间:2023-12-04 08:32:36 25 4
gpt4 key购买 nike

我正在尝试使用 CSS 为站点实现垂直对齐到位滚动,但无法正常工作。为了隔离问题,我创建了这个玩具示例:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<style>
#container {
scroll-snap-type: y mandatory;
}
.tile {
height:100vh;
width:100vw;
scroll-snap-align: start;
}
</style>
</head>
<body>
<div id="container">
<div class="tile" style="background-color:red;">
</div>
<div class="tile" style="background-color:blue;">
</div>
<div class="tile" style="background-color:green;">
</div>
<div class="tile" style="background-color:yellow;">
</div>
</div>
</body>
</html>
但是,一切仍然可以自由滚动。我哪里错了?谢谢!

最佳答案

在 MDN 的所有示例中,我都看到使用滚动捕捉父元素始终具有定义的高度和您正在使用的方向的溢出,在您的情况下 y => overflow-y: scroll; .如果没有定义的高度,在我的测试中,捕捉将不起作用。
现在,由于主体具有默认滚动,因此必须在主体的 css 中定义高度。

html,
body {
height: 100vh;
overflow: hidden;
}

#container {
overflow: scroll;
height: 100vh;
scroll-snap-type: mandatory;
scroll-snap-type: y mandatory;
}

#container div {
height: 100vh;
scroll-snap-align: start;
}
<!doctype html>
<html>

<head>
<meta charset="utf-8">
<style>

</style>
</head>

<body>
<div id="container" style="">
<div class="tile" style="background-color:red;">
</div>
<div class="tile" style="background-color:blue;">
</div>
<div class="tile" style="background-color:green;">
</div>
<div class="tile" style="background-color:yellow;">
</div>
</div>
</body>

</html>

关于html - CSS 滚动 - 卡入到位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64950030/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com