3d旋转相册代码完整html
时间: 2024-11-28 12:09:08 浏览: 7
用html+CSS实现的3D旋转相册(表白代码)
创建一个3D旋转的相册效果通常需要HTML、CSS和JavaScript(或者使用一些库如Three.js)。下面是一个简单的HTML和JavaScript示例,它展示了如何在一个基本的HTML页面上实现一个点击切换图片的3D旋转效果:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
.carousel {
perspective: 1000px;
}
.carousel__item {
position: absolute;
width: 200px;
height: 200px;
transition: transform 1s ease;
}
.active {
transform-style: preserve-3d;
transform: rotateY(0deg);
}
.inactive {
transform-style: preserve-3d;
transform: rotateY(90deg);
}
</style>
</head>
<body>
<div class="carousel">
<img src="image1.jpg" class="carousel__item active" onclick="rotateImage(this)">
<img src="image2.jpg" class="carousel__item inactive">
<!-- 添加更多图片... -->
</div>
<script>
function rotateImage(img) {
const parent = img.parentNode;
const siblings = parent.children;
let index = Array.from(siblings).indexOf(img);
if (index === siblings.length - 1) {
index = 0;
} else {
index++;
}
siblings.forEach((child, i) => {
child.classList.remove('active', 'inactive');
if (i === index) {
child.classList.add('active');
} else {
child.classList.add('inactive');
}
});
setTimeout(() => {
img.classList.toggle('active');
img.classList.toggle('inactive');
}, 1000); // 可以调整动画延迟时间
}
</script>
</body>
</html>
```
这个例子中,我们创建了一个包含两个图片的3D旋转相册。当用户点击一张图片时,其他图片会沿着Z轴(垂直方向)旋转90度,而当前选中的图片则会在1秒后回到原位。
阅读全文