基于html的旋转走廊照片墙代码
时间: 2023-10-17 21:05:29 浏览: 54
以下是一个基于 HTML 和 CSS 的旋转走廊照片墙的示例代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>旋转走廊照片墙</title>
<style>
body {
background-color: #333;
font-family: sans-serif;
}
h1 {
color: white;
text-align: center;
margin-top: 50px;
}
.gallery {
width: 80%;
margin: 0 auto;
position: relative;
transform-style: preserve-3d;
transform: perspective(800px) rotateY(0deg);
transition: transform 1s;
}
.gallery img {
width: 200px;
height: 200px;
position: absolute;
top: 0;
left: 0;
transition: all 1s;
border-radius: 50%;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}
.gallery img:hover {
transform: scale(1.1);
box-shadow: 0 0 20px rgba(0, 0, 0, 0.8);
}
.gallery img:nth-child(1) {
transform: rotateY(-80deg) translateZ(300px);
}
.gallery img:nth-child(2) {
transform: rotateY(-40deg) translateZ(300px);
}
.gallery img:nth-child(3) {
transform: rotateY(0deg) translateZ(300px);
}
.gallery img:nth-child(4) {
transform: rotateY(40deg) translateZ(300px);
}
.gallery img:nth-child(5) {
transform: rotateY(80deg) translateZ(300px);
}
button {
display: block;
margin: 20px auto;
background-color: #fff;
color: #333;
border: none;
padding: 10px 20px;
font-size: 20px;
cursor: pointer;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
transition: all 0.2s;
}
button:hover {
transform: translateY(-5px);
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.8);
}
button:active {
transform: translateY(0);
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.8);
}
.left {
position: absolute;
top: 50%;
left: 20px;
transform: translateY(-50%);
}
.right {
position: absolute;
top: 50%;
right: 20px;
transform: translateY(-50%);
}
</style>
</head>
<body>
<h1>旋转走廊照片墙</h1>
<div class="gallery">
<img src="https://picsum.photos/200/200?random=1">
<img src="https://picsum.photos/200/200?random=2">
<img src="https://picsum.photos/200/200?random=3">
<img src="https://picsum.photos/200/200?random=4">
<img src="https://picsum.photos/200/200?random=5">
</div>
<button class="left" onclick="rotateLeft()">‹</button>
<button class="right" onclick="rotateRight()">›</button>
<script>
var angle = 0;
function rotateLeft() {
angle += 40;
document.querySelector('.gallery').style.transform = `perspective(800px) rotateY(${angle}deg)`;
}
function rotateRight() {
angle -= 40;
document.querySelector('.gallery').style.transform = `perspective(800px) rotateY(${angle}deg)`;
}
</script>
</body>
</html>
```
这个示例代码中,使用了 CSS3 中的 `transform` 属性来实现图片旋转和翻转,同时也使用了 `transition` 属性来实现动画效果。还添加了两个按钮,用于控制旋转方向。