安全下载,经人工审核 精选优质前端模板 支持定制开发咨询 持续更新资源
CSS View Transitions 便当格局图片换位切换动画模板
编号:图片换为切换

CSS View Transitions 便当格局图片换位切换动画模板

大小 948 KB
总文件 11 个
发布 2026-09-01
更新 2026-09-01
架构 CSS
分类 前端资源 - 布局与背景
目录 结构详情
童哲网
童哲网
 ·  专注前端模板资源分享
人工审核 安全可信

    这是一款用浏览器原生 View Transitions API + 一组 `` 实现的便当格局图片切换特效:三张风景图铺在一个 2 列 2 行的网格上,默认第一张占大格、另外两张各占小格;点击任意一张小图,它会平滑放大成主图,原来的主图缩回小格,位置对调整个过程由浏览器接管,脚本只有 13 行。整段无框架、无外部依赖,字体使用 Google Fonts 的 Space Grotesk,背景为奶油色 `#fff6de`,是极简科技风 Bento 卡片的标准范式。

这款便当切换动画的核心亮点

  • 切换逻辑是纯 CSS:`input:checked + .box { grid-row: 1/-1; grid-column: 1; }` 让被选中的图直接跨越整列,其他图按 DOM 顺序自动填充剩下的两个格子,不用任何布局脚本。

  • 过渡由 View Transitions API 接管:脚本只在 radio 的 click 里包一层 `document.startViewTransition(() => { e.target.checked = true })`,剩下的关键帧、位置插值、圆角保持都是浏览器自动完成。

  • 每张图挂了独立的 `view-transition-name: box-1/2/3`,浏览器就知道「主图变小图、小图变主图」是同一元素在移动,而不是消失+新建,切换过程中图片内容不闪烁。

  • 缓动曲线用 `cubic-bezier(0.47, 1.64, 0.41, 0.8)`,末段带一点回弹,视觉上比线性或标准 ease 更有弹性;持续时间 0.5s 足够看清位置交换又不拖泥带水。

View Transitions 与传统方案的三个差别

其一,传统的图片交换要么用绝对定位手动计算 top/left,要么用 FLIP 手动测量再补偿;View Transitions 让浏览器在渲染前给旧 DOM 拍一张快照、渲染后给新 DOM 拍一张,然后在同一个位置对两张快照做补间,开发者只需要标记「谁是谁」。其二,View Transitions 是 CSS 层面的动画,主线程被阻塞时也不会掉帧,比 JS 每帧改样式更稳。其三,浏览器不支持时(Firefox 尚未全量启用),脚本会走 `if (!document.startViewTransition) return`,直接原生切换 checked,功能不会破坏——这是渐进增强的典型样板。源码中均有注释可查看完整实现。

如何换成自己的图或调整格局

三张图片写在三个 `.box` 的 `background-image: url(...)` 里(约第 24、38、52 行),换成自己的图片路径即可;要加到 4 张或 5 张,只需复制一组 `` + `

浏览器兼容性:View Transitions API 需 Chrome 111+、Edge 111+、Safari 18+;Firefox 尚未启用(截至 2026 年 1 月),会静默降级为无动画切换,radio 状态本身仍然生效。详细运行方法请参见压缩包内的帮助文档。

常见问题

能加更多图片扩展成 5 宫格吗

能。CSS Grid 会按 DOM 顺序自动铺格,你只需要按现有规律复制 input+label、给新 label 加 `data-index="4"` 并配上 `view-transition-name: box-4`,格局按需调整 `grid-template-*`。

Firefox 用户看到的效果是什么

点击后主图直接切换,没有位置补间。功能上完全能用,只是少了那一段 0.5s 的动画。

切换时图片有明显闪一下怎么办

通常是同一张图两处 `view-transition-name` 冲突或漏加。检查每张图是否用了唯一的 name;如果确实需要重复,用 `view-transition-name: none` 显式关闭。

可以搭配 SPA 路由用吗

可以。View Transitions API 的调用方式一致,React Router / Vue Router 里同样可以在路由切换回调中包一层 `document.startViewTransition`,图片对应同名后能在页面之间做过渡。

适合放在哪些页面

适合极简作品集封面、产品详情页的图片切换区、旅拍/摄影主题的 Bento 布局、SaaS 官网的功能预览网格。下载源码即可作为独立模块嵌入任何 HTML/框架项目

模板目录结构

    免责声明

    • 如非特殊说明,本站对本文提供的代码或者素材不拥有任何权利,其版权归原著者拥有。
    • 以上提供的代码或者素材均为作者提供和网友推荐收集整理而来,仅供学习和研究使用。
    • 如有侵犯你版权的,请来信(邮箱:tongzhewangluo@163.com)指出,核实后本站将立即改正。
    • 如有链接无法下载、失效或广告,请通过网站提供的微信联系作者!
    • 以上资源售价只是赞助,不代表代码或者素材本身价格,收取费用仅维持本站的服务器开销。
    • 所有代码素材效果均为演示打包,最终效果请参考演示效果,本站不提供任何技术支持和服务。
    • 代码素材均为虚拟物品,演示和描述无错的情况下,无法进行退换服务。

    最新资源

    纯 React 极简中文月历日期切换 HTML 组件模板

    日历组件

    纯 React 极简中文月历日期切换 HTML 组件模板
    CSS View Transitions 便当格局图片换位切换动画模板

    图片换为切换

    CSS View Transitions 便当格局图片换位切换动画模板
    餐厅堂食订座与外卖点单 HTML 建站模板,菜单详情页与在线订座双通道

    瑞斯托

    餐厅堂食订座与外卖点单 HTML 建站模板,菜单详情页与在线订座双通道
    汽修改装与车源交易一站式汽车 HTML 建站模板,含预约工单、配件商城与改装案例

    拓奇克

    汽修改装与车源交易一站式汽车 HTML 建站模板,含预约工单、配件商城与改装案例
    React Motion滤镜标签组切换文字弹性展开动画

    弹簧动画

    React Motion滤镜标签组切换文字弹性展开动画
    Three.js 3D量子神经网络粒子交互动画模板

    3D神经网络粒子

    Three.js 3D量子神经网络粒子交互动画模板