UI小姐姐要求有“Duang~Duang”的效果怎么办?

作者:前端九哥日期:2025/11/25

设计小姐姐: “搞一下这样的回弹效果,你行不行?”
:“行!直接梭哈 50 行 keyframes + transform + 各种百分比,搞定 ”
设计小姐姐:“太硬(撇嘴),不够 Q 弹(鄙视)”
:(裂开)
隔壁老王:这么简单你都不行,我来一行贝塞尔 cubic-bezier(0.3, 1.15, 0.33, 1.57) 秒了😎
设计小姐姐:哇哦!(兴奋)好帅!(星星眼🌟)好Q弹!(一脸崇拜😍)
“???”


🧠 一、为什么一行贝塞尔就能“Duang”起来?

1️⃣ cubic-bezier 是什么?

在 CSS 动画里,我们经常写:

1transition: all 0.5s ease;
2

但其实 easelinearease-in-out 这些都只是封装好的贝塞尔曲线。
底层原理是:

1cubic-bezier(x1, y1, x2, y2)
2

这四个参数定义了时间函数曲线,控制动画速度的变化。

  • x:时间轴(必须在 0~1 之间)
  • y:数值轴(可以超出 0~1!)

👉 当 y 超过 1 或小于 0 时,动画值就会冲过终点再回弹
这就是“回弹感”的核心。


2️⃣ 回弹的本质:过冲 + 衰减

想象一个球掉下来:

  • 过冲:球落地时会压扁(超出终点)
  • 回弹:然后反弹回来,再逐渐稳定

在动画中,这个“过冲”就是 y>1 的部分,
而“回弹”就是曲线回到 y=1 的过程。


🧪 二、一行贝塞尔的魔法

✅ 火箭发射

1<div class="bounce">🚀发射!</div>
2
3<style>
4.bounce {
5 transition: transform 0.8s cubic-bezier(0.68, -0.55, 0.27, 1.55);
6}
7.bounce:hover {
8 transform: translateY(-500px);
9}
10</style>
11

💡 参数解析:

  • y1 = -0.55 → 先轻微反向缩小
  • y2 = 1.55 → 再冲过头 55%,最后回弹到原位

🧩 四、常用贝塞尔参数

效果描述贝塞尔参数备注
微回弹(按钮)cubic-bezier(0.34, 1.31, 0.7, 1)轻柔弹性
强回弹(卡片)cubic-bezier(0.68, -0.55, 0.27, 1.55)爆发力强
柔和出入cubic-bezier(0.4, 0, 0.2, 1.4)iOS 风
弹性放大cubic-bezier(0.175, 0.885, 0.32, 1.275)弹簧感
火箭猛冲cubic-bezier(0.68, -0.55, 0.27, 1.55)推背感

🧰 五、调试神器推荐

  • 🎨 cubic-bezier.com
    拖动手柄实时预览动画,复制参数一键搞定。
  • ⚙️ easings.net
    收录各种 easing 函数(含物理弹簧、阻尼等)。

UI小姐姐要求有“Duang~Duang”的效果怎么办?》 是转载文章,点击查看原文


相关推荐


精选 5 款 .NET 开源、实用的商城系统(Shop),快速商城二开利器!
追逐时光者2025/11/23

前言 今天大姚给大家分享 5 款基于 .NET 开源、实用的商城系统(Shop),快速商城二开利器!希望可以帮助到有商城系统开发需求的同学。 nopCommerce nopCommerce是一个.NET开源功能丰富、免费、灵活且可定制的开源电子商务解决方案(大家假如有商城需求可以直接使用该项目进行二次开发,省时省力) ,具备商城该有的各种功能和特性。 项目源码地址:github.com/nopSolution… 项目详细介绍:mp.weixin.qq.com/s/GMCIYwGUr… C


Python中的简单爬虫
q***57742025/11/21

文章目录 一. 基于FastAPI之Web站点开发 1. 基于FastAPI搭建Web服务器2. Web服务器和浏览器的通讯流程3. 浏览器访问Web服务器的通讯流程4. 加载图片资源代码 二. 基于Web请求的FastAPI通用配置 1. 目前Web服务器存在问题2. 基于Web请求的FastAPI通用配置 三. Python爬虫介绍 1. 什么是爬虫2. 爬虫的基本步骤3. 安装requests模块4. 爬取照片 ① 查看index.html② 爬取照片步骤③


Fastadmin切换英文,部分新增菜单没有切换原因
JSON_L2025/11/19

在使用Fastadmin开启多语言后,切换为英文时,部分新增菜单没有切换问题及解决。 目录 开启多语言 开启多语言 部分菜单没有变化 原因 添加菜单规则 语言包解析 其他标题或提示语解析 总结   开启多语言 开启多语言 首先介绍一下fastadmin中如何开启多语言配置, 在application/config.php中把lang_switch_on改为true。 默认情况下是关闭的,如下: 开启后,在后台会多一个切换语言的入口,默认就是中英


GitHub 热榜项目 - 日榜(2025-11-16)
CoderJia_2025/11/19

GitHub 热榜项目 - 日榜(2025-11-16) 生成于:2025-11-16 统计摘要 共发现热门项目: 18 个 榜单类型:日榜 本期热点趋势总结 本期GitHub热榜显示AI应用开发依然是绝对焦点,开发者正致力于将前沿AI技术转化为开箱即用的解决方案。舆情监控工具TrendRadar和谷歌的AI工具包adk-go引领了这股潮流,它们强调用AI解决信息过载和复杂流程自动化等实际问题。同时,轻量化RAG框架LightRAG和大模型记忆引擎Memori的流行,反映出社区


【深度学习新浪潮】算法工程师如何入门芯片硬软件设计工作?
Andrew-国星宇航2025/11/17

在AI与边缘计算爆发的当下,“算法落地难”逐渐成为行业痛点——很多时候不是算法不够优,而是缺乏匹配算法需求的芯片硬件支撑,或是算法与硬件“脱节”导致部署后性能打折扣。这也让越来越多算法工程师开始关注芯片硬软件设计:既能更深刻地理解算法的硬件适配性,又能参与到“算法-芯片”协同优化的核心环节,成为跨领域的复合型人才。 但算法工程师转型芯片设计,常面临“软件思维 vs 硬件思维”的鸿沟:习惯了软件的灵活性,却对硬件的并行性、时序约束、资源限制感到陌生;熟悉模型训练与推理优化,却不懂EDA工具、数字


python爬虫入门案例day05:Pexels
自学互联网2025/11/16

python爬虫入门案例day05:Pexels 目标网站 Pexels 目标网址 https://www.pexels.com/zh-cn/search/%E6%97%A5%E8%90%BD/ 开发环境 1、window11 2、python3.7 3、PyCharm Community Edition 2021.2.1 4、双核浏览器 5、浏览器自带开发者工具 网站分析 在下拉网页的过程中发现,会不断加载出新的图片,说明该网页为动态网页,那我们可以初步猜想图片的链接存放在通过Ajax请求的网


Python 的内置函数 map
IMPYLH2025/11/15

Python 内建函数列表 > Python 的内置函数 map Python 的内置函数 map() 是一个高阶函数,它允许对一个可迭代对象(如列表、元组等)的所有元素应用指定的函数,并返回一个 map 对象(可迭代对象)。其基本语法是: map(function, iterable, ...) 主要特点: 惰性计算(Lazy Evaluation):map 对象不会立即执行计算,只有在需要时才会真正处理数据多参数支持:可以同时处理多个可迭代对象函数式编程特性:配合 lambda 表


2.登录页测试用例
Sunlightʊə2025/11/14

用例ID测试标题测试类型测试场景测试步骤预期结果实际结果其他要素Login-001核心登录功能测试功能测试正常登录流程1.输入正确的用户名 2.输入正确的密码 3.点击登录按钮登录成功,跳转至主页面符合预期 Login-002用户名为空1.用户名为空 2.输入任意密码 3.点击登录按钮提示“请输入用户名”,用户名输入框变红符合预期 Login-003密码为空1.输入正确用户名 2.密码为空 3.点击登录按钮提示“请输入密码”,密码输入框变红符合预期 Login


Webpack Loader 和 Plugin 实现原理详解
阿珊和她的猫2025/11/12

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入门到实战全面掌握 uni-app》 文章目录 一、Webpack Loader 实现原理(一)Loader 的概念(二)Loader 的生命周期(三)Loade


📘 全面解析:JavaScript 时间格式化 API 实战指南
excel2025/11/11

——从 toUTCString() 到 Intl.DateTimeFormat 的深度理解 时间与日期,是前端开发中最容易“踩坑”的部分。不同浏览器、不同区域、甚至不同系统语言,都会造成输出不一致。 本文将系统解析 JavaScript 提供的时间格式化方法,帮你彻底搞懂它们的差异、用途与正确使用方式。 一、背景:为什么会有这么多时间格式化方法? JavaScript 的时间系统基于 ECMAScript 时间标准,时间点以 UTC 为基准(Unix Epoch:1970-01-01 00:0

首页编辑器站点地图

本站内容在 CC BY-SA 4.0 协议下发布

Copyright © 2025 聚合阅读