Chrome 新特性:几行 CSS 实现 100 多种轮播特效!

作者:前端开发爱好者

还记得我前端刚入行的第一课,就是手写轮播图 。那个时候感觉很难并且要写很多 js 逻辑代码,才能实现出一个最基础的轮播。

每次想到那些复杂的 JavaScript 逻辑,我都心生敬畏。

现在好了,Chrome 135 带来新特性,借助 CSS Overflow 5 规范,单靠 CSS 就能整出超多酷炫轮播特效,不用再写繁琐的 JavaScript 代码。

想用 CSS 实现各种炫酷的轮播效果,先给大家介绍 ::scroll-button()::scroll-marker() 这两个伪元素!

滚动按钮(::scroll-button()

滚动按钮(::scroll-button())是一种有状态交互式的滚动功能按钮。

它可以帮助用户轻松访问内容,按下时可使滚动区域滚动 85%

对于一次仅显示一个全宽项且具有滚动贴靠点的轮播界面,此值会按项显示;而对于长列表,它会滚动到几乎整页的位置。

css 复制代码
.carousel::scroll-button(left) {
  content: "⬅" / "Scroll Left";
}

.carousel::scroll-button(right) {
  content: "⮕" / "Scroll Right";
}

.carousel::scroll-button(*)::focus-visible {
  outline-offset: 5px;
}

滚动标记(::scroll-marker()

滚动标记(::scroll-marker())类似于页内链接,每个标记都可以表示滚动条中的任何项。

它们不仅提示轮播界面的大小,还允许用户快速跳转到特定位置。滚动标记具有以下特点:

  • 包含一个 :target-current 状态,用于表示标记在视野内或已固定。
  • 支持键盘导航,其行为类似于 focusgroup。
  • 提供屏幕阅读器体验,并以标签页列表的形式生成报告。
css 复制代码
.carousel {
  scroll-marker-group: after;
}

.carousel > li::scroll-marker {
  content: ' ';
}

.carousel > li::scroll-marker:target-current {
  background: var(--accent);
}

多种轮播特效展示

基于这两个新功能,开发者可以创建出 100 多种不同的轮播特效。

以下列举部分示例:

水平轮播

这是最为常见的轮播形式,内容沿着水平方向滚动展示。

通过简单的 CSS 设置,即可创建一个基本的水平滚动区域。这种轮播方式常用于图片展示或产品推荐,用户可以轻松地左右滑动查看不同内容。

视频轮播

视频轮播主要用于展示多个视频预览,用户可以方便地在不同视频之间切换。

与常规图片轮播不同,视频轮播需要优化 视频加载及播放连贯性,确保流畅的观看体验。

应用切换器轮播

应用切换器轮播在展示多个应用或大型项目资料时非常方便,用户可以从不同角度浏览信息。

产品展示轮播

产品展示轮播在电商网站上应用广泛,它能够全方位展示产品的细节和特点。

3D 轮播

3D 轮播通过独特的视觉效果,将内容以三维形式呈现给用户。

这种轮播方式常用于吸引用户注意,需要更精细的设计和优化以确保在各种设备上都能流畅运行。

纵向 3D 滚动轮播

纵向 3D 滚动轮播为用户提供了更独特的视角和交互体验,内容以纵向 3D 的方式展示,适合用于创意设计展示或吸引用户注意力的场景。

优势与好处

  • 无需 JavaScript :减少了代码复杂度,提高了性能。
  • 无障碍功能支持 :内置的无障碍功能让轮播界面更加友好。
  • 性能优化 :无需加载和执行 JavaScript 代码,页面的加载速度和运行性能得到显著提升。
  • 开发效率提高 :CSS 的代码相对简洁直观,开发轮播界面更加便捷快速。

Chrome 团队仍在持续优化这些功能,并计划在未来支持更多自定义选项,例如周期性滚动(像旋转木马一样循环播放)等功能。这将进一步提升轮播界面的灵活性和用户体验。

总之,Chrome 135 推出的 CSS Overflow 5 规范中的轮播界面功能为网页设计带来了重大变革。

开发者可以利用这些新特性轻松打造出丰富多样的轮播特效 ,无需依赖 JavaScript,同时兼顾性能和无障碍功能。

  • 官方更多案例https://chrome.dev/carousel
  • 在线轮播配置器https://chrome.dev/carousel-configurator/
相关推荐
315356691337 分钟前
DeepSeek Harness 发布后,我没急着跑 Demo,先把 `.agents/` 翻了一遍
前端·后端·github
名字还没想好☜39 分钟前
Next.js 用 Server Components 直连数据库:去掉 API 层的边界,和三条别踩的安全红线
前端·javascript·数据库·安全·react·next.js
学习zhao极致it44 分钟前
2020全新React教程全家桶实战redux+antd+React Hooks前端js视频
前端
用户921080262861 小时前
Bubble 消息操作区改造:复制、重新生成和反馈
前端
LEE1 小时前
AI Agent 都在疯狂加功能,它说:我全砍了
前端·后端
张清悠1 小时前
用 TRAE Work 把 PRD + 设计稿注释,整理成 20 分钟可排期前端任务清单
前端
Brown.alexis2 小时前
es6知识点5-自备使用
前端·javascript·es6
杨利杰YJlio2 小时前
KB5121003更新详解:安全启动证书、AI组件、资源管理器与安装验证
前端·javascript·后端
紫菜猫一只2 小时前
Vue 3 与 React 常用写法对比
前端
jinggongszh2 小时前
使用AI协同开发产品条码规则功能——从“理解方案、原型、接口文档”到“落地真实前端代码”
前端·人工智能·mes系统·mes工程架构