<!DOCTYPE html>
<html>
<head>
<style>
#container {
scroll-snap-type: both proximity;
width: 50%;
margin: 30px auto;
white-space: nowrap;
aspect-ratio: 1/1;
overflow-x: scroll;
overflow-y: scroll;
border: solid black 2px;
}
.green { background-color: lightgreen; }
.pink { background-color: lightpink; }
.blue { background-color: lightblue; }
.yellow { background-color: yellow; }
.grey { background-color: lightgray; }
#container > div {
display: inline-block;
height: 80%;
border-radius: 10%;
aspect-ratio: 1/1;
margin: 5px;
scroll-snap-align: center;
}
</style>
</head>
<body>
<h1>CSS scroll-snap-type 属性,使用 proximity 值</h1>
<p>如果滚动位置正好位于两个吸附点之间,则 proximity 吸附类型值不会将元素吸附到位。尝试滚动到两个元素之间的位置,然后松开,此时应该不会发生吸附。</p>
<div id="container">
<div class="green"></div>
<div class="pink"></div>
<div class="yellow"></div>
<div class="blue"></div>
<div class="grey"></div>
<div class="pink"></div>
<br>
<div class="pink"></div>
<div class="blue"></div>
<div class="grey"></div>
<div class="yellow"></div>
<div class="pink"></div>
<div class="green"></div>
<br>
<div class="green"></div>
<div class="pink"></div>
<div class="yellow"></div>
<div class="blue"></div>
<div class="grey"></div>
<div class="pink"></div>
<br>
<div class="pink"></div>
<div class="yellow"></div>
<div class="blue"></div>
<div class="grey"></div>
<div class="pink"></div>
<div class="green"></div>
<br>
<div class="grey"></div>
<div class="blue"></div>
<div class="yellow"></div>
<div class="pink"></div>
<div class="green"></div>
<div class="pink"></div>
<br>
<div class="green"></div>
<div class="pink"></div>
<div class="blue"></div>
<div class="yellow"></div>
<div class="pink"></div>
<div class="grey"></div>
</div>
</body>
</html>