css旋转木马代码示例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
/*透视*/
body {
perspective: 1000px;
}
.box {
position: relative;
width: 300px;
height: 200px;
margin: 300px auto;
/*子元素保持3D效果*/
transform-style: preserve-3d;
animation: rotate 20s linear infinite;
}
/*.box:hover {*/
/* animation-play-state: paused;*/
/*}*/
@keyframes rotate {
0% {
}
100% {
transform: rotateY(360deg);
}
}
[class*="horse"] {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.horse1 {
background: url("./images/horse1.jpg") no-repeat;
background-size: 100%;
/*把正面的图像拉近一点,越靠近 眼睛*/
transform: translateZ(500px);
}
.horse2 {
background: url("./images/horse2.jpg") no-repeat;
background-size: 100%;
/*先转动,再移动*/
transform: rotateY(60deg) translateZ(500px);
}
.horse3 {
background: url("./images/horse3.jpg") no-repeat;
background-size: 100%;
transform: rotateY(120deg) translateZ(500px);
}
.horse4 {
background: url("./images/horse4.jpg") no-repeat;
background-size: 100%;
transform: rotateY(180deg) translateZ(500px);
}
.horse5 {
background: url("./images/horse5.jpg") no-repeat;
background-size: 100%;
transform: rotateY(240deg) translateZ(500px);
}
.horse6 {
background: url("./images/horse6.jpg") no-repeat;
background-size: 100%;
transform: rotateY(300deg) translateZ(500px);
}
</style>
</head>
<body>
<div class="box">
<div class="horse1"></div>
<div class="horse2"></div>
<div class="horse3"></div>
<div class="horse4"></div>
<div class="horse5"></div>
<div class="horse6"></div>
</div>
<script>
const horses = document.querySelectorAll('[class*=horse]')
for (let i = 0; i < horses.length; i++) {
horses[i].addEventListener('mouseenter', function () {
this.style.transform = 'scale(3)'
})
}
for (let i = 0; i < horses.length; i++) {
horses[i].addEventListener('mouseleave', function () {
// 鼠标离开后,还原成1倍,并且旋转角度、移动的位置都要还原
//element.style.transform +=相当于给transform追加值
this.style.transform = 'scale(1) '
this.style.transform += `rotateY(${i * 60}deg)`
this.style.transform += 'translateZ(500px)'
})
}
</script>
</body>
</html>
本文来自博客园,作者:弩哥++,转载请注明原文链接:https://www.cnblogs.com/bangbangzoutianya/p/17570451.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」