x
 
<!DOCTYPE html>
<html>
<head>
<style>
#container {
  scroll-snap-type: both mandatory;
  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 属性,在 x 和 y 方向均适用</h1>
<p>使用滚轮或在容器框内拖动滚动条,然后松开,观察 scroll-snap-type 在两个方向上的效果。</p>
<p>也可以尝试点击一个框,然后使用箭头键在框之间导航。</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>