CSS纵向全屏翻页是一种网页设计技术,通过CSS动画和JavaScript实现页面内容的逐屏展示效果。每个“页”占据整个视口的高度,用户可以通过滚动或点击按钮来切换不同的页面。
以下是一个简单的CSS纵向全屏翻页示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS Vertical Fullscreen Page Flip</title>
<style>
body, html {
margin: 0;
padding: 0;
height: 100%;
overflow: hidden;
}
.page {
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
font-size: 2em;
color: white;
transition: opacity 0.5s ease-in-out;
}
.page:nth-child(odd) {
background-color: #3498db;
}
.page:nth-child(even) {
background-color: #e74c3c;
}
.page.active {
opacity: 1;
}
.page:not(.active) {
opacity: 0;
}
</style>
</head>
<body>
<div class="page active">Page 1</div>
<div class="page">Page 2</div>
<div class="page">Page 3</div>
<script>
let currentPage = 0;
const pages = document.querySelectorAll('.page');
function nextPage() {
pages[currentPage].classList.remove('active');
currentPage = (currentPage + 1) % pages.length;
pages[currentPage].classList.add('active');
}
window.addEventListener('wheel', (event) => {
if (event.deltaY > 0) {
nextPage();
}
});
</script>
</body>
</html>
requestAnimationFrame
优化JavaScript动画性能。wheel
事件监听滚动,注意处理不同设备的滚动方向。通过以上方法,可以有效地实现CSS纵向全屏翻页效果,并解决常见的技术问题。
领取专属 10元无门槛券
手把手带您无忧上云