CSS3技术极大地丰富了网页的表现效果,其中拖拽旋转木马效果就是一个很好的例子。
/*HTML部分*/
<div class="carousel">
<div class="item">
<img src="image1.jpg">
</div>
<div class="item">
<img src="image2.jpg">
</div>
<div class="item">
<img src="image3.jpg">
</div>
<div class="item">
<img src="image4.jpg">
</div>
</div>
/*CSS部分*/
.carousel {
display: flex;
justify-content: center;
align-items: center;
perspective: 1000px;
}
.item {
position: absolute;
width: 200px;
height: 200px;
transform-origin: center center -200px;
transition: transform 1s;
}
.item:nth-child(1) {
transform: rotateY(0deg) translateZ(200px);
}
.item:nth-child(2) {
transform: rotateY(90deg) translateZ(200px);
}
.item:nth-child(3) {
transform: rotateY(180deg) translateZ(200px);
}
.item:nth-child(4) {
transform: rotateY(270deg) translateZ(200px);
}
.carousel:hover .item:nth-child(1) {
transform: rotateY(-90deg) translateZ(200px);
}
.carousel:hover .item:nth-child(2) {
transform: rotateY(0deg) translateZ(200px);
}
.carousel:hover .item:nth-child(3) {
transform: rotateY(90deg) translateZ(200px);
}
.carousel:hover .item:nth-child(4) {
transform: rotateY(180deg) translateZ(200px);
} 代码实现的原理是,利用CSS3的3D旋转和变换,将四张图片定位为一个四面体,然后利用hover事件,改变其rotateY的值,实现拖拽旋转木马的效果。
这种效果在网站的图片展示、产品展示中非常实用,可以使网站更具交互性和吸引力。