三维动态图集(基于CSS3transform动画)

效果预览:
transform_20
实现思路:
多个图片进行旋转,主要需要确定几个图片的旋转点:
transform_21
主要确定了旋转点,图片在旋转的过程中就不会出现乱跑的情况。同时为了可以看到图片在三维空间的旋转效果,需要给图片的父元素main添加perspective: perserve-3d使图片元素可以在3d空间进行显示。
实现代码:
html

<main>
    <img src="/images/2.PNG" alt="">
    <img src="/images/4.jpg" alt="">
    <img src="/images/dog.jpg" alt="">
    <img src="/images/1.jpg" alt="">
</main>

css

body {
    width: 100vw;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #2C3A47 ;
}

/*设置父盒子最初的样式*/
main {
    position: absolute;
    width: 200px;
    height: 100px;
    left: 50%;
    top: 50%;
    /*使父盒子在旋转的过程中子元素处于3d空间中*/
    transform-style: preserve-3d;
    /*设置旋转基点*/
    transform-origin: right center -200px;
    /*设置最初位置*/
    transform: perspective(900px) translate(-80%, -80%);
    transition: 10s;
}


/*设置图片的统一大小以及样式*/
main img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    /*设置旋转基点*/
    transform-origin: center center -200px;
}

/*设置每一个图片的旋转角度*/
main img:nth-child(1) {
    transform: rotateY(90deg);
}

main img:nth-child(2) {
    transform: rotateY(180deg);
}

main img:nth-child(3) {
    transform: rotateY(270deg);
}

main img:nth-child(4) {
    transform: rotateY(360deg);
}

/*当鼠标放置在页面上时,父盒子进行旋转操作来展示图片*/
body:hover main {
    transform: perspective(900px) translate(-80%,-80%) rotateX(-45deg) rotateY(1000deg);
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值