css实现鼠标放上去时图片过渡转换动画

在这里插入图片描述

代码

		<div class="test">
			<div></div>
			<div></div>
		</div>
		.test{
			width: 200px;
			height: 200px;
			margin-top: 200px;
			margin-left: 300px;
			overflow: hidden;
			background-color: red;
		}
		.test div{
			width: 100%;
			height: 100%;
			transition: 500ms;
		}
		.test div:last-child{
			background-color: green;
		}
		.test:hover div{
			transform: translateY(-100%);
		}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
可以使用CSS3的3D转换动画属性来实现类似旋转木马的动画效果。以下是一个简单的示例: HTML代码: ```html <div class="carousel"> <img src="image1.jpg" alt="Image 1" /> <img src="image2.jpg" alt="Image 2" /> <img src="image3.jpg" alt="Image 3" /> <img src="image4.jpg" alt="Image 4" /> <img src="image5.jpg" alt="Image 5" /> </div> ``` CSS代码: ```css .carousel { position: relative; width: 500px; /* 设置容器宽度 */ height: 300px; /* 设置容器高度 */ margin: 0 auto; /* 居中显示 */ perspective: 1000px; /* 设置透视距离 */ } .carousel img { position: absolute; width: 80%; /* 设置图片宽度 */ height: 80%; /* 设置图片高度 */ left: 10%; /* 居中显示 */ top: 10%; /* 居中显示 */ transform-style: preserve-3d; /* 设置变换样式 */ transition: transform 1s; /* 设置过渡效果 */ } .carousel img:first-child { transform: rotateY(0deg) translateZ(0); /* 设置第一张图片的初始状态 */ } .carousel img:nth-child(2) { transform: rotateY(60deg) translateZ(200px); /* 设置第二张图片的初始状态 */ } .carousel img:nth-child(3) { transform: rotateY(120deg) translateZ(200px); /* 设置第三张图片的初始状态 */ } .carousel img:nth-child(4) { transform: rotateY(180deg) translateZ(200px); /* 设置第四张图片的初始状态 */ } .carousel img:last-child { transform: rotateY(240deg) translateZ(200px); /* 设置最后一张图片的初始状态 */ } .carousel:hover img { transform: rotateY(-60deg); /* 设置鼠标悬停动画效果 */ } ``` 解释: 首先,将容器设置为相对定位,宽度和高度分别为500px和300px,并设置透视距离为1000px。图片设置为绝对定位,宽度和高度分别为80%,并居中显示。设置图片的变换样式为preserve-3d,表示在3D空间内进行变换。 接着,为每张图片设置不同的初始状态,即旋转角度和Z轴位移。第一张图片的旋转角度为0度,Z轴位移为0;第二张图片的旋转角度为60度,Z轴位移为200px;第三张图片的旋转角度为120度,Z轴位移为200px;第四张图片的旋转角度为180度,Z轴位移为200px;最后一张图片的旋转角度为240度,Z轴位移为200px。 最后,在鼠标悬停,将所有图片旋转-60度,从而实现类似旋转木马的动画效果。 注意:这只是一个简单的示例,实际应用中可能需要根据具体需求进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值