实现HTML字体慢慢浮现的常见方法
CSS动画实现
- @keyframes关键帧动画
.fade-in-text { opacity: 0; animation: fadeIn 2s forwards; }
@keyframes fadeIn {
0% { opacity: 0; }
100% { opacity: 1; }
}
JavaScript动态控制
function fadeIn(element, duration) { let opacity = 0; const interval = 50; const step = duration / interval; const timer = setInterval(() => { opacity += step; if (opacity >= 1) { clearInterval(timer); opacity = 1; } element.style.opacity = opacity; }, interval); } // 使用示例 const textElement = document.getElementById('target'); fadeIn(textElement, 3000); // 3秒渐显
第三方库实现
库名称 | 实现特点 | 使用示例 |
---|---|---|
Animate.css | 预置动画样式 | <h1 class="animate__fadeIn">...</h1> |
Woow.js | 零依赖声明式动画 | <h1 data-wow-duration="2s">...</h1> |
Anime.js | 强大时间线控制 | anime({targets: '.text', opacity: 1, duration: 2000}); |
常见问题与解答
Q1:如何控制文字浮现的速度?
.fade-text {
-webkit-transition: opacity 1.5s; / Safari /
-moz-transition: opacity 1.5s; / Firefox /
transition: opacity 1.5s;
}
<!-引入Animate.css的polyfill --> <script src="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.2.0/animate.min.js">