使用CSS transform: scale配合@keyframes可实现文字缩放动画。1. 定义@keyframes设置0%、50%、100%的scale值,结合animation属性让文字平滑放大缩小循环播放;2. 用:hover触发时可选transition简化操作,复杂节奏仍推荐@keyframes;3. 调整关键帧与缓动函数实现“呼吸”效果,适合标题按钮;4. 注意将文字设为inline-block以支持变换,用transform-origin控制缩放基点,避免大面积频繁动画影响性能,必要时添加-webkit-前缀兼容旧浏览器。

想让文字实现缩放动画效果,可以使用 CSS 的 transform: scale 配合 @keyframes 来完成。这种方式不改变文档流,性能好,适合做平滑的放大缩小动效。
transform: scale() 可以缩放元素尺寸,而 @keyframes 定义动画关键帧,两者结合就能控制文字在不同时间点的缩放状态。
示例代码:
@keyframes zoomText {
0% {
transform: scale(1);
}
50% {
transform: scale(1.2);
}
100% {
transform: scale(1);
}
}
<p>.animated-text {
display: inline-block; /<em> 必须设置为可变换的块级或行内块 </em>/
animation: zoomText 2s ease-in-out infinite;
}</p>这段代码会让文字从正常大小放大到 1.2 倍,再恢复,循环播放。
如果希望鼠标悬停时才缩放,可以用 :hover 触发动画。
立即学习“前端免费学习笔记(深入)”;
示例:悬停放大
@keyframes growOnHover {
to {
transform: scale(1.3);
}
}
<p>.text-hover {
display: inline-block;
transition: transform 0.3s ease;
}</p><p>.text-hover:hover {
transform: scale(1.3);
}</p>这里也可以不用 @keyframes,直接用 transition 更简洁。但如果需要复杂节奏(比如先缩小再弹出),就推荐用 @keyframes。
通过调整关键帧的时间点和缓动函数,可以做出更生动的文字呼吸感。
@keyframes breatheText {
0% { transform: scale(1); }
50% { transform: scale(1.1); }
100% { transform: scale(1); }
}
<p>.breathe {
display: inline-block;
animation: breatheText 3s ease-in-out infinite;
animation-delay: 0.5s; /<em> 可加延迟错开多个元素 </em>/
}</p>这种效果适合标题、按钮文字,增加视觉吸引力。
transform-origin: center top; 让文字从顶部中心展开。基本上就这些。掌握 transform scale 与 @keyframes 的配合,就能轻松做出流畅的文字缩放动画,提升页面交互质感。
以上就是如何在CSS中制作文字缩放动画_transform scale与@keyframes结合的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号