CSS 图片翻页效果可以通过 CSS 动画和过渡来实现。以下是一个简单的示例代码,展示了如何使用 CSS 创建一个图片翻页效果:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS 图片翻页效果</title>
<style>
.container {
perspective: 1000px;
width: 300px;
height: 200px;
margin: 50px auto;
}
.page {
width: 100%;
height: 100%;
position: absolute;
transform-style: preserve-3d;
transition: transform 1s;
}
.page img {
width: 100%;
height: 100%;
backface-visibility: hidden;
}
.page.flipped {
transform: rotateY(180deg);
}
</style>
</head>
<body>
<div class="container">
<div class="page" id="page1">
<img src="image1.jpg" alt="Image 1">
</div>
<div class="page" id="page2">
<img src="image2.jpg" alt="Image 2">
</div>
</div>
<button onclick="flipPage()">翻页</button>
<script>
function flipPage() {
const page1 = document.getElementById('page1');
const page2 = document.getElementById('page2');
if (page1.classList.contains('flipped')) {
page1.classList.remove('flipped');
page2.classList.add('flipped');
} else {
page1.classList.add('flipped');
page2.classList.remove('flipped');
}
}
</script>
</body>
</html>
@keyframes
定义动画序列,并通过 animation
属性应用动画。transition
属性定义元素从一种样式过渡到另一种样式的过程。transform
属性实现 3D 效果,如旋转、缩放和平移。opacity
属性实现元素的淡入淡出效果。transform
属性的 translateX
或 translateY
实现元素的滑动效果。will-change
属性提示浏览器提前优化动画元素。will-change
属性提示浏览器提前优化动画元素。transform-style: preserve-3d
和 backface-visibility: hidden
确保 3D 效果的正确显示。通过以上方法,可以实现一个简单的 CSS 图片翻页效果,并解决常见的动画和兼容性问题。
云+社区沙龙online [新技术实践]
企业创新在线学堂
云上直播间
云上直播间
2022vivo开发者大会
云+社区沙龙online [技术应变力]
云+未来峰会
云+社区沙龙online [新技术实践]
云+社区技术沙龙[第14期]
云+社区技术沙龙[第9期]
领取专属 10元无门槛券
手把手带您无忧上云