没有带有滚动捕捉类型和 -align 的滚动捕捉 / 简单示例不适用于 Chrome/Firefox /

bas*_*sti 0 css scroll scroll-snap-points

使用 Chrome / Firefox,我为几张图片创建了一个容器(.container)(列出具有类 img 的项目)。我在容器上添加了滚动捕捉类型。我在类 img 的项目上添加了scroll-snap-align。

我在这里缺少什么?

超文本标记语言

<div class="container">
  <ul>
  <li class="img"><img src="https://picsum.photos/500"></li>
  <li class="img"><img src="https://picsum.photos/500"></li>
  <li class="img"><img src="https://picsum.photos/500"></li>
  <li class="img"><img src="https://picsum.photos/500"></li>
  <li class="img"><img src="https://picsum.photos/500"></li>
  <li class="img"><img src="https://picsum.photos/500"></li>
  </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS

.img {
  margin: 10px 5px;
  scroll-snap-align: center;
  -webkit-overflow-scrolling: touch;
}

.container {
  display:  grid; 
  justify-content: center; 
  grid-gap: 10px;
  scroll-snap-type: y mandatory;
  overflow-y: scroll;
}
Run Code Online (Sandbox Code Playgroud)

小智 6

事实证明,scroll-snap-type需要您定义容器的高度。我不太确定如何解释为什么需要它,但是,定义 aheight确实可以解决这个问题。

.img {
  margin: 10px 5px;
  scroll-snap-align: center;
  -webkit-overflow-scrolling: touch;
}

.container {
  display:  grid; 
  justify-content: center; 
  grid-gap: 10px;
  scroll-snap-type: y mandatory;
  overflow-y: scroll;
  height: 100vh;
}
Run Code Online (Sandbox Code Playgroud)