要从大标题平滑过渡到小静态标题,可以使用CSS动画和JavaScript来实现。以下是一个简单的示例,展示了如何实现这一效果。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Smooth Transition</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<h1 id="main-title">Big Title</h1>
<h2 id="small-title">Small Title</h2>
<button onclick="startTransition()">Start Transition</button>
<script src="script.js"></script>
</body>
</html>
/* styles.css */
body {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 100vh;
margin: 0;
}
h1, h2 {
text-align: center;
transition: all 1s ease;
}
#main-title {
font-size: 48px;
opacity: 1;
}
#small-title {
font-size: 24px;
opacity: 0;
}
// script.js
function startTransition() {
const mainTitle = document.getElementById('main-title');
const smallTitle = document.getElementById('small-title');
// Animate the main title to fade out and shrink
mainTitle.style.opacity = '0';
mainTitle.style.fontSize = '24px';
// Animate the small title to fade in and grow
setTimeout(() => {
smallTitle.style.opacity = '1';
smallTitle.style.fontSize = '48px';
}, 500); // Delay to ensure the main title starts fading out first
}
transition
属性用于定义动画的持续时间和缓动函数。#main-title
和#small-title
分别定义了大标题和小标题的初始样式。startTransition
函数通过修改CSS属性来实现动画效果。opacity
和fontSize
属性被修改,使其逐渐消失并缩小。setTimeout
函数延迟一段时间,确保大标题开始消失后,小标题才开始出现并放大。这种平滑过渡效果可以用于各种网页设计中,例如:
通过这种方式,你可以实现一个简单而优雅的标题过渡效果。
领取专属 10元无门槛券
手把手带您无忧上云