纯 CSS 轮播

Avatar of Chris Coyier
Chris Coyier on

DigitalOcean 提供适用于您旅程各个阶段的云产品。 立即开始使用 $200 的免费积分!

在构建轮播/幻灯片时,HTML 和 CSS 的功能令人惊叹 您能走多远

  1. 使用 CSS Flexbox 将一些方框放在水平行中很容易。
  2. 使用 overflow 每次只显示一个方框,并使用 overscroll-behavior 使其可滑动很容易。
  3. 您可以使用 scroll-snap-type 使“幻灯片”整齐地排列。
  4. 您只需要几个 #jump-links 即可为其创建导航,您可以使用 scroll-behavior 使其变得平滑美观。

Christian Schaefer 进一步增加了“下一个”和“上一个”按钮,以及一个自动播放功能,该功能在开始交互后会停止播放。

关于自动播放功能,这是一个真正的 CSS 技巧

  1. 首先,我缓慢地将滚动捕捉点向右偏移,使滚动区域由于捕捉到它们而随之移动。
  2. 滚动完整个幻灯片的宽度后,我取消了捕捉。 滚动区域现在与滚动捕捉点分离。
  3. 现在,我让滚动捕捉点跳回到它们的初始位置,而不会让它们“捕捉拖动”滚动区域回到它们。
  4. 然后,我重新启用捕捉,现在可以让滚动区域捕捉到不同的捕捉点 🤯

酷。

JavaScript 驱动的幻灯片(例如,使用 Flickty)也很不错。 只是用这么少的代码完成它真的很酷。

说到我们能用 HTML 和 CSS 做到什么程度,这里有一些关于图像轮播和画廊的相关内容。