电话
400 9058 355
本文讲解如何让红色方块在动画开始时不显示原始尺寸,而是从极大缩放(如 scale(10))逐渐缩小至正常尺寸(scale(1)),同时避免初始闪现,通过 opacity 与 transform 配合及 animation-fill-mode: forwards 精确控制起始不可见状态。
要实现“元素从远处缩放流入”的视觉效果(即:动画开始时完全不可见,随后以大尺寸快速缩放进入并定格为正常大小),关键在于分离视觉可见性控制与形变动画逻辑。原代码中直接在 0% 关键帧使用 display: none 是无效的——CSS 动画无法过渡 display 属性,且 display 变更会破坏动画上下文,导致行为不可预测。
✅ 正确做法是:
以下是优化后的标准 CSS(已移除过时的 -webkit- 前缀,兼容现代浏览器):
.container .box {
width: 200px;
height: 200px;
background-color: red;
margin: 0 auto;
opacity: 0; /* 初始完全隐藏 */
transform: scale(10); /* 初始超大尺寸(不可见但占位) */
transform-origin: center; /* 确保缩放围绕中心 */
}
.container .box {
animation-name: flowIn;
animatio
n-duration: 1s;
animation-timing-function: ease-out; /* 入场建议用 ease-out,更自然 */
animation-delay: 1s;
animation-iteration-count: 1;
animation-fill-mode: forwards; /* 关键:保持最后一帧样式 */
}
@keyframes flowIn {
0% {
opacity: 1;
transform: scale(10);
}
70% {
opacity: 1;
transform: scale(1.1); /* 轻微过冲增强动效感 */
}
100% {
opacity: 1;
transform: scale(1);
}
}⚠️ 注意事项:
立即学习“前端免费学习笔记(深入)”;
最终效果:红方块在页面加载后 1 秒准时“从天而降”,以巨大尺寸突显、平滑收缩至标准大小,并稳定停留——真正实现专业级的“flow into block”动效。
邮箱:8955556@qq.com
Q Q:8955556
本文详解如何将Go官方present工具(用于生成HTML5...
PySNMP在不同版本中对SNMP错误状态(errorSta...
time.Sleep仅阻塞当前goroutine,其他gor...
PHPfopen()创建含特殊符号的文件名失败主因是操作系统...
WooCommerce中通过代码为分组产品动态聚合子商品的属...
io.ReadFull返回io.ErrUnexpectedE...
本文详解Yii2中控制器向视图传递ActiveRecord数...
本文详解为何通过wp_set_object_terms()为...
Pytest中使用@mock.patch类装饰器会导致补丁泄...
带缓冲的channel是并发安全的FIFO队列;make(c...